我是Web开发的新手,并且已经编写了一些通过ActiveX使用WScript.Shell的javascript。我知道IE以外的浏览器不支持ActiveX。
在通过Google进行一些挖掘后,我发现我可以通过NPAPI在所有基于Web工具包的浏览器上做类似的事情。虽然我不知道在哪里开始。通过NPAPI可以做我想做的事情吗?如果是这样,我会从哪里开始?
答案 0 :(得分:1)
只要你只关心Windows,你可以简单地使用NPAPI插件来包装现有的WScript.Shell
- 但是请注意插件必须嵌入到页面中;没有new ActiveXObject("...")
的等价物。这也意味着您必须复制脚本界面或为其编写自动调度程序
要编写插件,请查看FireBreath project(免责声明:我是它的共同所有者),它已经为您提供了最常见任务的解决方案。如果您想为脚本界面进行自动调度,请查看ff-activex-host's实施(特别是scriptable.h
和axhost.cpp
)。
答案 1 :(得分:0)
虽然您无法执行new ActiveXObject
,但您的javascript可以向DOM添加对象标记,例如
var plugin = document.createElement('div');
plugin.innerHTML = "<OBJECT id='plugin0' blah blah blah ></OBJECT>";
document.body.appendChild(plugin);