由於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