2010-09-02 21 views
0

我對Web開發非常陌生,並且已經編寫了一些使用WScript.Shell的JavaScript通過ActiveX。我知道IE以外的瀏覽器不支持ActiveX。如何使用WScript.Shell功能編寫NPAPI插件

在通過Google進行了一些挖掘之後,我發現我可以通過NPAPI在所有基於Web工具包的瀏覽器上做類似的工作。當談到這個時,我不知道該從哪裏開始。是否可以通過NPAPI來完成我的工作?如果是這樣,我會從哪裏開始?

+0

NPAPI用於瀏覽器插件,而不是頁面上的代碼。 – Pointy 2010-09-02 12:13:24

+0

我能否創建一個插件發貨給我的客戶,並讓他們安裝? – Ben 2010-09-02 13:02:22

回答

1

只要你只關心Windows,你可以簡單地使用一個NPAPI插件來包裝現有的WScript.Shell - 但是注意插件必須嵌入在頁面中;沒有相應的new ActiveXObject("...")。這也意味着您必須複製腳本接口或爲其編寫自動調度程序。
對於編寫插件,看看FireBreath project(聲明:我是它的共同所有者),它已經爲您提供了最常見任務的解決方案。如果您想爲腳本界面執行自動調度,請參閱ff-activex-host's實現(特別是scriptable.haxhost.cpp)。

+0

我剛剛構建了一個FireBreath插件 - 從頭開始​​可能需要2個小時(文檔有點...非線性) - 我推薦視頻教程! – Spike0xff 2011-11-10 13:59:23

0

雖然你不能做new ActiveXObject,你的javascript可以添加一個對象標籤到DOM,例如

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