Bug Tracker

Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#11685 closed bug (worksforme)

isReady never set to true IE9 + embed tag

Reported by: [email protected] Owned by: [email protected]
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 10 years ago by Rick Waldron

Owner: set to [email protected]
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 10 years ago by [email protected]

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 10 years ago by Rick Waldron

Status: newopen

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

comment:4 Changed 10 years ago by [email protected]

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 10 years ago by Rick Waldron

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

comment:6 Changed 10 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 10 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 10 years ago by Rick Waldron

You're welcome!

comment:9 Changed 10 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.