IE在插入<object>时为插件</object>提供“不支持此类接口”消息

时间:2011-02-11 05:18:49

标签: javascript internet-explorer dom

我正在尝试使用对象将视频播放器插件插入DOM。这适用于Firefox和Chrome,但是我从IE 8和IE 7获得了“不支持此类界面”的消息。如果插件位于服务器发送的HTML文件中,则插件在这三种情况下都能正常工作。

以下是我要创建的内容:

<object id="plugin" width="220" height="360" type="application/x-ourmediaplayer"  
  <param name='mode' value='LIVE' />  
  <param name="ip_address" value='10.220.196.150' />  
  <param name='port' value='80' />  
</object>

如果我使用以下代码,我会在IE上收到错误:

var container = document.getElementById('pluginContainer');  
var plugin = document.createElement('object');  
plugin.id = 'plugin';  
plugin['width'] = '220';  
plugin['height'] = '360';  
plugin['type'] = 'application/x-ourmediaplayer'>

var param = document.createElement('param');  
param['name'] = 'mode'; param['value'] = 'LIVE'; plugin.appendChild(param);

param = document.createElement('param');  
param['name'] = 'ip_address'; param['value'] = '10.220.196.150';
plugin.appendChild(param);    `

param = document.createElement('param');  
param['name'] = 'port'; param['value'] = '80'; plugin.appendChild(param);

container.appendChild(plugin);

有没有人有任何想法?我可以用IE做这个,还是有其他方法可以附加这种类型的对象?

2 个答案:

答案 0 :(得分:1)

可能为时已晚,但我在各种情况下都看到了同样的错误。你的代码可能没什么问题。这很可能是安装IE,注册某些DLL的问题。在这个thread中,有人指出了一些修复IE的脚本,here

另一个site,指定:

  

使用RegSvr32注册两个DLL:actxprxy.dll和shdocvw.dll。后   你注册这两个DLL,重新启动计算机并再次尝试。   消息应该消失。

我希望能帮助你。

答案 1 :(得分:0)

我不确定,但我猜这是IE的mishandling of the object tag。考虑查看SWFObject的源代码,了解如何修复它。