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
_______________________________________________
[email protected]
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
_______________________________________________
[email protected]
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