如何在 IE 11 中将 flash 对象动态添加到 html?
How dynamically add flash-object to html in IE 11?
我看到了 Adobe recommendation,但是有用于嵌入的静态 html 代码。
我尝试通过 JS 动态使用,但奇怪的是。 flash-player 被嵌入到页面中。但瑞士法郎电影- 不是。我认为名称参数有问题。但是猜不出来需要怎么做才对。
静态(工作)
object type="application/x-shockwave-flash" data="menu.swf" width="1200" height="300">
<param name="movie" value="menu.swf"/>
</object>
动态地(不工作)
var node=document.createElement('object');
document.body.appendChild(node);
node.type="application/x-shockwave-flash"
node.data="menu.swf"
//node.name="menu.swf"
node.width="300"
node.height="300"
var p=document.createElement('param');
p.name="movie"
p.value="menu.swf"
node.appendChild(p)
我尝试了很多组合,但没有任何效果
这个问题强烈针对IE11。对于其他版本的 IE,下一个代码:
var node=document.createElement('object');
document.body.appendChild(node);
node.classid= "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
node.movie="menu.swf"
...
我的代码有 2 个错误。
主要特征 - DOM 的添加对象必须是对象的AFTER ASSEMBLY:
var node=document.createElement('object');
node.type="application/x-shockwave-flash"
node.data="menu.swf"
node.width="300"
node.height="300"
document.body.appendChild(node); // must be in end
或
var node=document.createElement('object');
node.setAttribute('type',"application/x-shockwave-flash")
node.setAttribute('data',"menu.swf")
node.setAttribute('width',"300")
node.setAttribute('height',"300")
document.body.appendChild(node); // must be in end
下一个功能 - html 头部有标签:
<meta http-equiv="X-UA-Compatible" content="IE=9">
如果 IE11 发现 X-UA-Compatible 小于 11/edge,则需要旧式嵌入 flash (classid)。如果没有 X-UA-Compatible 或值为 11/edge - 则需要新样式作为 type="application/x-shockwave-flash" in html
我看到了 Adobe recommendation,但是有用于嵌入的静态 html 代码。 我尝试通过 JS 动态使用,但奇怪的是。 flash-player 被嵌入到页面中。但瑞士法郎电影- 不是。我认为名称参数有问题。但是猜不出来需要怎么做才对。
静态(工作)
object type="application/x-shockwave-flash" data="menu.swf" width="1200" height="300">
<param name="movie" value="menu.swf"/>
</object>
动态地(不工作)
var node=document.createElement('object');
document.body.appendChild(node);
node.type="application/x-shockwave-flash"
node.data="menu.swf"
//node.name="menu.swf"
node.width="300"
node.height="300"
var p=document.createElement('param');
p.name="movie"
p.value="menu.swf"
node.appendChild(p)
我尝试了很多组合,但没有任何效果
这个问题强烈针对IE11。对于其他版本的 IE,下一个代码:
var node=document.createElement('object');
document.body.appendChild(node);
node.classid= "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
node.movie="menu.swf"
...
我的代码有 2 个错误。
主要特征 - DOM 的添加对象必须是对象的AFTER ASSEMBLY:
var node=document.createElement('object');
node.type="application/x-shockwave-flash"
node.data="menu.swf"
node.width="300"
node.height="300"
document.body.appendChild(node); // must be in end
或
var node=document.createElement('object');
node.setAttribute('type',"application/x-shockwave-flash")
node.setAttribute('data',"menu.swf")
node.setAttribute('width',"300")
node.setAttribute('height',"300")
document.body.appendChild(node); // must be in end
下一个功能 - html 头部有标签:
<meta http-equiv="X-UA-Compatible" content="IE=9">
如果 IE11 发现 X-UA-Compatible 小于 11/edge,则需要旧式嵌入 flash (classid)。如果没有 X-UA-Compatible 或值为 11/edge - 则需要新样式作为 type="application/x-shockwave-flash" in html