-
-
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