Closed
Bug 414029
Opened 17 years ago
Closed 17 years ago
javascript - changing content by innerHTML causes embedded swf to refresh/restart
Categories
(Firefox :: General, defect)
Tracking
()
People
(Reporter: mattura, Unassigned)
Details
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
Where an embedded swf exists within div tags, and javascript is called which uses innerHTML to change the contents of a span to include div or table tags, the embedded swf reloads.
This does not occur if div/table tags are not present in the replacement.
Reproducible: Always
Steps to Reproduce:
1. You will need a swf, in which it is easy to tell if it has been restarted
2. The following HTML reproduces the problem (see http://www.matt.elementfx.com/bug.html):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-GB" xml:lang="en-GB">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Bug</title>
<script>
function foo() {
document.getElementById('thing').innerHTML="<div>Div replacement</div>";
}
function bar() {
document.getElementById('thing').innerHTML="<span>Span replacement</span>";
}
</script>
</head>
<body>
<span id="thing">Some text</span><br/><br/>
<a href="#" onclick="javascript:foo();">Click to replace above with innerHTML containing DIV tags</a>
<br/><br/>
<a href="#" onclick="javascript:bar();">Click to replace above text with innerHTML containing SPAN tags</a>
<br/><br/>
A flash presentation: click start before clicking the above to verify:<br/>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="550" height="400" id="loader" salign="tl">
<param name="salign" value="tl"><param name=movie value="sinksub.swf"><param name=quality value=high><param name=bgcolor value=#000000>
<embed src="sinksub.swf" quality=high bgcolor=#000000 width="550" height="400" name="loader" salign="tl" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
</embed>
</object>
</body>
</html>
Actual Results:
Replacing the text with something containing DIV tags refreshes the swf.
Expected Results:
The swf should not refresh/reload/restart.
Internet Explorer and Safari do not cause the swf to refresh with any tags I tried
The reload only occurs after a page load, replacing the text a second time does not cause the swf to refresh.
I found a workaround:
enclose the item to be replaced with DIV tags
Comment 3•17 years ago
|
||
This is probably a result of bug 90268, but I'm not sure it's an exact dup. Is it expected that introducing an {ib} (block-inside-inline) situation at the top of the document would reframe the plugin at the bottom?
Yes, I believe fixing 90268 would fix this.
I shall follow this with interest...
Status: UNCONFIRMED → RESOLVED
Closed: 17 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•