Javascript 在IE的html页面中重新加载嵌入的swf

Javascript 在IE的html页面中重新加载嵌入的swf,javascript,jquery,html,actionscript-3,flash,Javascript,Jquery,Html,Actionscript 3,Flash,我有一个嵌入在html页面中的swf文件。我想在不刷新页面的情况下重新加载swf文件 这里也有同样的问题: 我尝试了公认的答案,它在chrome中工作: var obj = $("object#flash_99674493"); obj.html(obj.html()); 但是它似乎在IE中不起作用。如何使它在IE中起作用?如果您的.swf嵌入了,请使用数据属性: document.getElementById('flash_99674493').data += ''; 对于嵌入的,使用sr

我有一个嵌入在html页面中的swf文件。我想在不刷新页面的情况下重新加载swf文件

这里也有同样的问题:

我尝试了公认的答案,它在chrome中工作:

var obj = $("object#flash_99674493");
obj.html(obj.html());

但是它似乎在IE中不起作用。如何使它在IE中起作用?

如果您的
.swf
嵌入了
,请使用
数据
属性:

document.getElementById('flash_99674493').data += '';
对于嵌入
的,使用
src

document.getElementById('flash_99674493').src += '';
将空字符串添加到
data
src
会导致重新加载它们

在IE中,我们必须用相同的对象替换对象:

var o = document.getElementById('flash_99674493');
var n = o.cloneNode(!0);
o.parentNode.insertBefore(n, o);
o.parentNode.removeChild(o);

您是否尝试过使用包装器使用常规JavaScript?我在旧的浏览器上做了一个测试,比如IE 9

<!-- wrapper around your flash object -->
<div id="flash-content">
        <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="200" height="200" id="SoundSpectrum2" align="middle">
            <param name="movie" value="SoundSpectrum2.swf" />
            <param name="quality" value="high" />
            ...

你用什么?它包含添加和删除swf的特殊方法。为什么不在swf内部处理重置?DenisKokorin是的,我处理。但是我找不到重新加载的方法。你能说得更具体些吗?谢谢。我尝试过这种方法,虽然它在Chrome/Safari中工作得很好,但在IE中似乎不起作用。你能改进一下吗?它确实起作用,但另一个答案已经发布了,所以我接受了这个答案。你的代码干净高效,干得好!非常感谢。@Sefier,接受的答案将重写对象的子节点。如果使用
embed
对象
没有
param
子节点,此方法将不起作用。由你来决定最佳答案和使用J。
function reloadFlash() {
   var content = document.getElementById('flash-content');
   var currentArray = [];

   while (content.firstChild) {
      currentArray.push(content.firstChild.cloneNode(true));
      content.removeChild(content.firstChild);
   }

   currentArray.forEach(function(item) {
      content.appendChild(item)
   });
}