Bug Tracker

Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#11685 closed bug (worksforme)

isReady never set to true IE9 + embed tag

Reported by: chris.ewing@… Owned by: chris.ewing@…
Priority: undecided Milestone: None
Component: unfiled Version: 1.7.2
Keywords: Cc:
Blocked by: Blocking:

Description

<object id="ui-sales-help-movieObj" style="height: 360px; width: 640px" >

<param id="ui-sales-help-movieName" name="movie" value="" /> <param name="wmode" value="transparent" /> <param name="allowFullScreen" value="true" /> <param name="allowScriptAccess" value="always" /> <embed id="ui-sales-help-videoEobj" src="" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360" wmode="transparent" />

</object>

This code prohibits the $(document).ready() from firing. My work-around was to use jquery to append the embed tag after onReady fires.

Change History (9)

comment:1 Changed 7 years ago by Rick Waldron

Owner: set to chris.ewing@…
Status: newpending

Thanks for taking the time to contribute to the jQuery project! Please provide a complete reduced test case on jsFiddle to help us assess your ticket!

Additionally, be sure to test against the "jQuery (edge)" version to ensure the issue still exists. To get you started, use this boilerplate: http://jsfiddle.net/FrKyN/ Open the link and click to "Fork" (in the top menu) to begin.

comment:2 Changed 7 years ago by chris.ewing@…

Status: pendingnew

http://jsfiddle.net/hdtJn/

I believe this is what you want, opening this in IE9 nothing happens. Opening this in chrome, I get the expected alert. For whatever reason, the $.isready never gets set to true when the <embed /> tag is in the html. Possibly an IE9 bug and not a jQuery bug.

comment:3 Changed 7 years ago by Rick Waldron

Status: newopen

Confirmed. alert-less reduction here: http://jsfiddle.net/rwaldron/Ume9Y/

comment:4 Changed 7 years ago by chris.ewing@…

I just wanted to add that the culprit appears to be the empty src="" attribute. This is also causing an issue in FireFox where you have to hit escape for the page to fire the ready event. I think FireFox and IE9 are requesting a location of "/" when src is empty which causes the browser to never think its finished loading.

This may not be something jQuery can not detect and it might rightfully not be something it should detect.

Just for clarification of the empty src="", we have several links to videos and 1 modal window that loads the src depending on which link is clicked.

comment:5 Changed 7 years ago by Rick Waldron

Perhaps omitting the src="" attribute until you actually need it?

comment:6 Changed 7 years ago by Rick Waldron

Resolution: worksforme
Status: openclosed

Bingo, I changed the src="" to src="#" and it works now...

http://jsfiddle.net/rwaldron/Ume9Y/

comment:7 Changed 7 years ago by anonymous

Yea, looks like we were both trying the same thing at the same time, haha. Thanks for your time;)

comment:8 Changed 7 years ago by Rick Waldron

You're welcome!

comment:9 Changed 7 years ago by mikesherov

for the record, this is probably also fixed by jQuery.quickReady in 1.8pre. I can imagine that readyState gets hung at "interactive" with empty src. I'm going to verify that just for fun.

Note: See TracTickets for help on using tickets.