Opened 11 years ago

Closed 4 years ago

#7325 closed defect (patchwelcome)

[patch] dojox.xmpp doesn't work in IE when using script src due to iframe onload bug

Reported by: joe1chen Owned by: Dustin Machi
Priority: high Milestone: 1.13
Component: Dojox Version: 1.1.1
Keywords: Cc:
Blocked By: Blocking:

Description

When using the script src transport implementation, IE's issues with iframe onload prevent xmpp from working. The basic problem is that any iframe onload handlers set up by dojo.connect don't fire in IE (they are fine in Safari and FF).

The following line of code doesn't do anything in IE. dojo.connect(iframe, "onload", this, "_sendLogin");

A workaround is to use dojo publish/subscribe mechanism to do same thing.

Thus replace above line with dojo.subscribe("xmpp-transport-onload-" + i, this, '_sendLogin');

And then at the end of the dojox.xmpp.TransportSession?._iframeOnload function, call publish

`if (index == 0) {

dojo.publish("xmpp-transport-onload-" + index, null);

}`

Attachments (1)

TransportSession.js (14.3 KB) - added by joe1chen 11 years ago.
TransportSession?.js containing proposed fix

Download all attachments as: .zip

Change History (6)

Changed 11 years ago by joe1chen

Attachment: TransportSession.js added

TransportSession?.js containing proposed fix

comment:1 Changed 11 years ago by Adam Peller

Owner: changed from Adam Peller to Dustin Machi

comment:2 Changed 11 years ago by bill

Milestone: 1.21.3

move 1.2 bugs to 1.3

comment:3 Changed 11 years ago by Dustin Machi

Milestone: 1.31.4

comment:4 Changed 10 years ago by dante

Milestone: 1.4future
Summary: dojox.xmpp doesn't work in IE when using script src due to iframe onload bug[patch] dojox.xmpp doesn't work in IE when using script src due to iframe onload bug

comment:5 Changed 4 years ago by dylan

Milestone: future1.12
Resolution: patchwelcome
Status: newclosed

Given that no one has shown interest in creating a patch in the past 5+ years, I'm closing this as patchwelcome.

Note: See TracTickets for help on using tickets.