-
-
Save iadvize/767777 to your computer and use it in GitHub Desktop.
Strophe.addConnectionPlugin("xdomainrequest", { | |
init: function () { | |
if (window.XDomainRequest) { | |
Strophe.debug("using XdomainRequest for IE"); | |
// override thee send method to fire readystate 2 | |
XDomainRequest.prototype.oldsend = XDomainRequest.prototype.send; | |
XDomainRequest.prototype.send = function() { | |
XDomainRequest.prototype.oldsend.apply(this, arguments); | |
this.readyState = 2; | |
try { | |
this.onreadystatechange(); | |
} catch (e) {} | |
}; | |
// replace Strophe.Request._newXHR with the xdomainrequest version | |
Strophe.Request.prototype._newXHR = function () { | |
var fireReadyStateChange = function (xhr, status) { | |
xhr.status = status; | |
xhr.readyState = 4; | |
try { | |
xhr.onreadystatechange(); | |
} catch (e) {} | |
}; | |
var xhr = new XDomainRequest(); | |
xhr.readyState = 0; | |
xhr.onreadystatechange = this.func.prependArg(this); | |
xhr.onload = function () { | |
xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); | |
xmlDoc.async = "false"; | |
xmlDoc.loadXML(xhr.responseText); | |
xhr.responseXML = xmlDoc; | |
fireReadyStateChange(xhr, 200); | |
}; | |
xhr.onerror = function () { | |
fireReadyStateChange(xhr, 500); | |
}; | |
xhr.ontimeout = function () { | |
fireReadyStateChange(xhr, 500); | |
}; | |
return xhr; | |
} | |
} else { | |
Strophe.error("XDomainRequest not found. Falling back to native XHR implementation."); | |
} | |
} | |
}); |
Could anyone please let me know how to use strophe plugin,.....I am new to conversejs..
When I am doing prebind true and IE is 8 then only i am not able to connect XMPP server and getting below error...
Kindly help me on this...Thanks in advance!
2014.04.04 16:06:36 org.jivesoftware.openfire.net.SASLAuthentication - SASLAuthentication: SaslException
javax.security.sasl.SaslException: DIGEST-MD5: digest response format violation. Mismatched response.
at com.sun.security.sasl.digest.DigestMD5Server.validateClientResponse(Unknown Source)
at com.sun.security.sasl.digest.DigestMD5Server.evaluateResponse(Unknown Source)
at org.jivesoftware.openfire.net.SASLAuthentication.handle(SASLAuthentication.java:325)
at org.jivesoftware.openfire.SessionPacketRouter.route(SessionPacketRouter.java:66)
at org.jivesoftware.openfire.http.HttpSession.sendPendingPackets(HttpSession.java:645)
at org.jivesoftware.openfire.http.HttpSessionManager$HttpPacketSender.run(HttpSessionManager.java:419)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Could anyone please let me know how to use strophe plugin,.....I am new to conversejs..
When I am doing prebind true and IE is 8 then only i am not able to connect XMPP server and getting below error...
Kindly help me on this...Thanks in advance!
2014.04.04 16:06:36 org.jivesoftware.openfire.net.SASLAuthentication - SASLAuthentication: SaslException
javax.security.sasl.SaslException: DIGEST-MD5: digest response format violation. Mismatched response.
at com.sun.security.sasl.digest.DigestMD5Server.validateClientResponse(Unknown Source)
at com.sun.security.sasl.digest.DigestMD5Server.evaluateResponse(Unknown Source)
at org.jivesoftware.openfire.net.SASLAuthentication.handle(SASLAuthentication.java:325)
at org.jivesoftware.openfire.SessionPacketRouter.route(SessionPacketRouter.java:66)
at org.jivesoftware.openfire.http.HttpSession.sendPendingPackets(HttpSession.java:645)
at org.jivesoftware.openfire.http.HttpSessionManager$HttpPacketSender.run(HttpSessionManager.java:419)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
prependArg is deprecated and not supported in IE.
So, replace line 28:
xhr.onreadystatechange = this.func.prependArg(this);
with:
xhr.onreadystatechange = this.func.bind(null,this);
to get it works in IE.
Resources:
http://groups.google.com/group/strophe/browse_thread/thread/4e41294102b7ecf3
metajack/strophejs-plugins#49