Home Dashboard Directory Help
Search

IE10 Fails to remove flash content from rendered page when it is removed from DOM by banksyw


Status: 

Closed
 as Fixed Help for as Fixed


Type: Bug
ID: 785687
Opened: 4/26/2013 9:37:44 AM
Access Restriction: Public
2
Workaround(s)
view
3
User(s) can reproduce this bug

Description

In the latest public release of IE10 under windows 7. I have found an issue where Flash content in an iframe whic is removed from DOM does not get removed from display.

This was discovered in context of a real site but can be trivially recreated in a simple demo. Please view this example: http://jsfiddle.net/VcxXF/3/

Note that this occurs on both IE10 and IE9 browser/document modes. It *may* occur in earlier version modes however jsFiddle fails to load the example in these modes anyway.

IE version: 10.0.9200.16540

Flash version (just updated): 11,7,700,169
Details
Sign in to post a comment.
Posted by Microsoft on 6/28/2013 at 5:06 PM
Thank you for your feedback.

We have released a new preview version of Internet Explorer which is included with Windows 8.1 available from the following location: http://windows.microsoft.com/en-us/windows-8/preview
During our testing we are no longer able to reproduce the issue using Internet Explorer 11 please verify you are still experiencing the reported problem in this new release. If the issue continues please reopen this connect feedback item and provide additional details that will help us continue our investigation. We welcome your feedback, please send us additional comments so that we can investigate further.

Best regards,

The Internet Explorer Team
Posted by banksyw on 5/9/2013 at 7:53 AM
As yet another followup. My previous comment was not quite correct.

I have found cases where even if the iframe's src is an html document containing embedded flash, IE 10 can still refuse to remove the content correctly from display when the iframe is removed from DOM.

In the specific case, the HTML src of iframe was NOT using a JS library like SWFObject to manage embed and instead had raw <object> and <embed> tags.

It seems (although still not exhaustivly tested) that the only ways flash in iframes *do* work right in IE 10 is when the iframe src document contains JS which is designed to manage the flash content directly. i.e. it uses SWFObject or some other library that handles edge cases of this bug. For example SWFObject has the following code: https://code.google.com/p/swfobject/source/browse/trunk/swfobject/src/swfobject.js#594
Posted by banksyw on 4/29/2013 at 11:38 AM
After further testing this appears to only be reproducible when the flash content is loaded directly as the iframe's src.

For instance loading a .html URL in an iframe, even if it contains an embedded flash object does NOT cause same behaviour. In that case the flash content is correctly removed from display when the iframe is removed from DOM.
Sign in to post a workaround.
Posted by banksyw on 5/9/2013 at 7:54 AM
My first workaround is actually slightly misleading. I've since discovered that even when embedded into HTML directly this bug can still occur. Only solution I've seen is to have JS in the embedded doc manage unload cleanup for you.

Simplest thing is to use SWFObject https://code.google.com/p/swfobject/ or similar lib.
Posted by banksyw on 4/29/2013 at 11:39 AM
As noted in my followup comment, loading an html document with the flash content embedded into the iframe appears to work.

If possible you could also embed the flash object directly rather than using an iframe to load it.