js动态加载activeX控件在IE11与低版本IE中的差异

由于IE11更加遵循W3C规范,所以IE11与低版本IE在加载activeX时有差别。

1、IE11中动态加载activeX的顺序

var objectTag = document.createElement("object");
objectTag.style.height = XPlayPluginDivHeight + "px";
objectTag.style.width = XPlayPluginDivWidth + "px";
objectTag.classid = "CLSID:E6FFE6D3-D4E6-4FDF-8C8B-958801A76784";
XPlayPluginDiv.appendChild(objectTag);

即:创建好object标签后,先设置object的大小,再动态追加该DOM对象。

2、在IE8/9/10中动态加载activeX的顺序

var objectTag = document.createElement("object");
XPlayPluginDiv.appendChild(objectTag);
objectTag.style.height = XPlayPluginDivHeight + "px";
objectTag.style.width = XPlayPluginDivWidth + "px";
objectTag.classid = "CLSID:E6FFE6D3-D4E6-4FDF-8C8B-958801A76784";

即:创建好object标签后,先动态追加DOM对象,再设置该object的大小。

加载activeX顺序不对,会导致IE崩溃。

对上述更相信的解释,参见

https://msdn.microsoft.com/en-us/library/ms537508(v=vs.85).aspx

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。