Skip to main content

Bug Tracker

Side navigation

#1874 closed bug (invalid)

Opened November 01, 2007 01:40AM UTC

Closed January 10, 2009 10:37PM UTC

.html() bug with inserting SWF in IE

Reported by: frankysanders Owned by:
Priority: major Milestone: 1.2.2
Component: core Version: 1.2.1
Keywords: Flash External Interface Cc:
Blocked by: Blocking:
Description

Loading flash swf's has an issue with .html. When loading a swf via {#id}.html('swf') Flash External Interface methods will not initialize properly. This bug only occurs with IE and does not seem to be an issue with Safari or FireFox.

Although {#id}.html('swf') does't work, writing a SWF via id.innerHTML='swf' seems to be fine. I'm not sure what's going on under the hood but I know that this release of jquery has some issues with Active X controls. (Or at least the compressed version did). I've attaced a demo movie illustrating the bug. I am currently trying to come up with a solution but as of yet I have been unable to.

The attached files has an HTML file in it. Try loading the swf via the two links and try writing data from javascript to flash. Only the method which uses innerHTML will work

Attachments (1)
  • externalInterfaceBug.zip (141.5 KB) - added by frankysanders November 01, 2007 01:48AM UTC.

    External Interface Test Files

Change History (4)

Changed November 01, 2007 01:50AM UTC by frankysander comment:1

Please use a webserver to test these files or neither instance will work.

Changed November 01, 2007 04:35AM UTC by frankysander comment:2

One more thing that I should note: I've made a hack solution,

$("#" + id + "").html(result);
    if($.browser.msie){
        var v = document.getElementById(id).innerHTML;
        document.getElementById(id).innerHTML = v;
    }

I do not suggest this as a long term solution but it works in the meantime. Also notice that passing in params like flash.swf?param1=value1¶m2=value2 works when using innerHTML but using flashparams does not.

ie, <embed flashparams="param1=value1¶m2=value2"> will not work. In other words if you want to pass variables to a flash movie, loaded via innerHTML. Then you must use the query string approach or flash will not have the values set inside of the movie.

Changed November 28, 2007 08:34AM UTC by davidserduke comment:3

summary: .html() bug with IE.html() bug with inserting SWF in IE

Changed January 10, 2009 10:37PM UTC by dmethvin comment:4

resolution: → invalid
status: newclosed

I think this is the problem you are referring to, related to the EOLAS patent:

http://activecontent.blogspot.com/

Solutions are described there.