ActiveX控件无法通过JavaScript访问



请查看此简单的示例代码以嵌入IE中的VLC Web插件并访问插件的属性:

    <div id="player">
        <object type="application/x-vlc-plugin" 
            id="vlc" 
            width="676px"
            height="386px" 
            classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921">  
        </object>
    </div>
    <input type="button" onclick="alert(vlc.VersionInfo);">

这在PC#1 上正常工作,给了我当前版本的插件。另一方面,在PC#2上,这给出了"未定义"。从调试器中,我可以看到VLC-Object没有它应该具有的属性。

令我震惊的是,PC#2上的插件本身能够播放视频流(将SRC-Param添加到对象标签时)。似乎无法通过JavaScript访问。

到目前为止我已经尝试过..

  • 将IE安全设置更改为PC#2上的Super-Low
  • 将插件分类添加到预批准的注册表文件夹
  • 检查了可能在某种程度上禁用ActiveX的组策略
  • VLC的几个版本

关于可能导致这种奇怪行为的任何想法非常欢迎!

编辑:添加PC#2在Windows嵌入式标准上运行(这是Wyse thinClient)。

我遇到了同样的问题,试图从JS访问VLC对象(均来自NSAPI/ActiveX)。在我的情况下,这取决于VLC版本。目前,如果我使用2.0.2一切都可以(NSAPI和ACIVEX)。较新的版本似乎打破了VLC对象的JS包装。

您可以尝试2.0.2发布并检查您是否解决了问题。

我处于可疑位置,向某人推荐Adobe Flash。VLC Active-X插件可能比Flash具有更多的错误,因为更多的人安装Flash并在Internet Explorer中使用它。请参阅Magnus Engdal对此问题的回答视频元素未在IE8中显示?

另一个选项是安装其他浏览器:如果您有安全许可要安装VLC,则肯定可以安装Firefox或Google Chrome或Chrome或Chromium或Opera ...

Mardie问题非常相关。否则您是否仅限于IE?我很好奇这是怎么回事。

最新更新