【问题标题】:How to write an NPAPI plugin with functionality of WScript.Shell如何编写具有 WScript.Shell 功能的 NPAPI 插件
【发布时间】:2011-11-10 23:03:09
【问题描述】:

我对 Web 开发非常陌生,并且一直在编写一些通过 ActiveX 使用 WScript.Shell 的 javascript。我知道除了 IE 之外的浏览器不支持 ActiveX。

在通过 Google 进行一些挖掘之后,我发现我可以通过 NPAPI 在所有基于 web kit 的浏览器上做类似的事情。不过,我什至不知道从哪里开始。是否可以通过 NPAPI 做我想做的事情?如果是这样,我会从哪里开始?

【问题讨论】:

  • NPAPI 用于浏览器插件,而不是页面上的代码。
  • 我是否可以创建一个插件发送给我的客户并让他们安装?

标签: javascript asp.net cross-browser npapi


【解决方案1】:

只要你只关心 Windows,你可以简单地使用一个 NPAPI 插件来包装现有的WScript.Shell - 但是请注意插件必须嵌入到页面中; new ActiveXObject("...") 没有等价物。这也意味着您必须复制脚本接口或为其编写自动调度程序。
要编写插件,请查看FireBreath project(免责声明:我是它的共同所有者),它已经为您提供了最常见任务的解决方案。如果您想对脚本接口进行自动调度,请查看ff-activex-host's 实现(尤其是scriptable.haxhost.cpp)。

【讨论】:

  • 我刚刚用 FireBreath 构建了一个插件 - 从头开始​​大概花了 2 个小时(文档有点……非线性) - 我推荐视频教程!
【解决方案2】:

虽然你不能这样做 new ActiveXObject,但你的 javascript 可以向 DOM 添加一个对象标签,例如

var plugin = document.createElement('div');
plugin.innerHTML = "<OBJECT id='plugin0' blah blah blah ></OBJECT>";
document.body.appendChild(plugin);

【讨论】:

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