Bug Tracker

Modify

Ticket #11685 (closed bug: worksforme)

Opened 13 months ago

Last modified 13 months ago

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:
Blocking: Blocked by:

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

comment:1 Changed 13 months ago by rwaldron

  • Owner set to chris.ewing@…
  • Status changed from new to pending

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 13 months ago by chris.ewing@…

  • Status changed from pending to new

 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 13 months ago by rwaldron

  • Status changed from new to open

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

comment:4 Changed 13 months 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 13 months ago by rwaldron

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

comment:6 Changed 13 months ago by rwaldron

  • Status changed from open to closed
  • Resolution set to worksforme

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

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

comment:7 Changed 13 months 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 13 months ago by rwaldron

You're welcome!

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

Please follow the  bug reporting guidlines and use  jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

View

Add a comment

Modify Ticket

Action
as closed
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.