hey, here's an update (and a fix) to this issue:

it looks like (as you pointed out) it is a bug in the new fp9 - this code was added in to fix an issue in IE with streaming media... if you were using flash media server to stream video, and left the page while the video was playing, the audio would keep going. this only happened in ie5 or 6 when you used innerHTML to insert the swf into the page - something more and more people are now doing because of the Eolas stuff.

so to fix this, you had to clear our all the functions that the flash player inserted into the page, to allow IE to do proper cleanup on the activex control.

I came up with a fix a few weeks back after discussing it a bit with an adobe engineer, and my fix was very similar to this one (it was integrated into SWFObject 1.4.2).

So naturally when fp9 came out, they wanted to include the fix with it, and did, but apparently the code isn't all that great.

Anyway, long story short, we've been working on a fix today and I just uploaded the new version of SWFObject to my SVN repository, and it looks like it takes care of the problem. it basically just removes the Adobe code that the player inserts and uses some custom code to clean up the controls instead.

have a look, let me know if you have any problems with it:

I haven't made a tag for it yet, so just grab it from the trunk folder:
http://svn.deconcept.com/swfobject/trunk/





On Jul 5, 2006, at 12:47 AM, Alexis Glass wrote:

In absence of a response, I thought I'd post more results from my investigation. Debugging IE's scripts, we come across the culprit - ExternalInterface saves the previous unload handler and installs its own. Its own unload handler calls the saved unload handler after freeing up all its resources. Pity that it saves the previous unload handler in a global variable so that if ExternalInterface is initialized twice on one page it recursively calls the __flash_savedUnloadHandler until IE complains about no memory. As Brad Neuberg wrote in his blog about ExternalInterface's broken XML implementation (http://codinginparadise.org/weblog/ 2006_02_03_archive.html), "In general, whoever coded ExternalInterface should be fired. " Well, or whoever signed off on it :( On the up side, I guess it should be possible (if not exactly future-proof) to overwrite the default __flash_unloadHandler behaviour.

---
function __flash_unloadHandler() {
 myflash_object.style.display = 'none';
 for (var prop in myflash_object) {
   if (typeof(myflash_object[prop]) == "function") {
     myflash_object[prop]=null;
   }
 }
 if (__flash_savedUnloadHandler != null) {
   __flash_savedUnloadHandler();
 }
}
function __flash_setupUnloadHandler() {
 if (window.onunload != __flash_unloadHandler) {
   __flash_savedUnloadHandler = window.onunload;
   window.onunload = __flash_unloadHandler;
 }
}

--

Alexis Glass wrote:

I have two entirely separate SWFs on a page, both using ExternalInterface to interface with my JavaScript. Things seemed just fine under Firefoxi, but under IE I get an "Out of memory at line: 56" error following a really long delay when the page is unloaded as I try to navigate to another page. This only happens when both SWFs are displayed on the page at the same time. They both have different IDs set in their object tags and are realized from entirely separate SWFs, so I don't see why there should be any conflict by including both on one page...

I don't seem to be the only person to have encountered this problem (http://blog.deconcept.com/2006/05/18/flash-player-bug- streaming-content-innerhtml-ie/ ), but I haven't been able to find a solution mentioned anywhere. Has anyone else encountered this problem -- or, better yet, found a solution?
Thanks (fingers crossed)

Alexis
_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com



_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

Reply via email to