【问题标题】:ActiveX control not accessible via JavaScript无法通过 JavaScript 访问 ActiveX 控件
【发布时间】:2014-03-03 07:47:33
【问题描述】:

请看这个简单的示例代码,在 IE 中嵌入 VLC 网络插件并访问插件的属性:

    <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 访问。

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

  • 在 PC#2 上将 IE 安全设​​置更改为超低
  • 将插件 classid 添加到 Pre-Approved 注册表文件夹中
  • 检查了可能会以某种方式在 IE 中禁用 ActiveX 的组策略
  • VLC 的几个版本

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

编辑:可能需要添加 PC#2 在 Windows Embedded Standard 上运行(它是 WYSE ThinClient)..

【问题讨论】:

  • 信息不足。 “console.log(vlc)”在 PC#2 上打印什么? IE版本? VLC 版本?其他浏览器行为?
  • PC2 上的 IE 版本是什么?

标签: javascript internet-explorer activex windows-embedded


【解决方案1】:

我在向某人推荐 Adob​​e Flash 时处于可疑的位置。 VLC active-X 插件可能比 Flash 有更多的错误,因为有更多的人安装 Flash 并在 Internet Explorer 中使用它。 请参阅 Magnus Engdal 对此问题的回答 Video element is not displaying in IE8?

另一种选择是安装不同的浏览器:如果您有安装 VLC 的安全许可,您当然也可以安装 Firefox 或 Google Chrome 或 Chromium 或 Opera...

Mardie 的问题非常相关。您是否仅限于 IE?我很好奇结果如何。

【讨论】:

    【解决方案2】:

    我在尝试从 JS 访问 VLC 对象(都来自 NSAPI / ActiveX)时遇到了同样的问题。就我而言,这取决于 VLC 版本。目前,如果我使用 2.0.2 一切正常(NSAPI 和 AciveX)。较新的版本似乎破坏了 VLC 对象的 JS 包装。

    您可以尝试使用 2.0.2 版本并检查您是否解决了您的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多