0

我尝试从外部源或本地源加载闪存(swf 文件),

出于某种原因,我在 html 中使用 object 标签来包含 flash,如果我直接在 object 标签中加载 flash,它将完美地工作,如下所示:

<object height="100" width="100" data="helloworld.swf" id="flash"></object>

接下来,我需要从 JavaScript 动态加载 flash,但是出现了几个问题:

var flash=document.getElementById("flash");
flash.setAttribute("data","helloworld.swf");

上面的代码在 Chrome 中运行良好,但在 IE 中没有任何作用(我的 IE 在 Windows 8 上是 IE11)

如果我将对象标签修改为 iframe 标签,那么它可以工作,但我需要它是对象标签,

有什么解决方案浮现在脑海中?

4

2 回答 2

3

您可以通过读取对象来强制刷新:

var flash = document.getElementById("flash");
flash.setAttribute("data","helloworld.swf");

var clone = flash.cloneNode(true);
flash.parentNode.replaceChild(clone, flash);
于 2014-08-07T12:16:24.950 回答
0

使用SWFObject。它将使您免于所有跨浏览器兼容性的麻烦。

于 2014-08-07T12:11:27.010 回答