0

私はクロム拡張機能を作成しました。今、NPAPIプラグインに変更したいと思います。プラグインをビルドするために npsimple サンプル コード (chrome から) を使用しました。今問題は次のとおりです。

私は次のJavaスクリプトChrome拡張ファイルコードを持っています:

//test.js

chrome.browserAction.onClicked.addListener(function(tab) 
{   
    //this file calls content script file  
});

このファイルは、拡張アイコンをクリックするたびに呼び出されます。拡張機能をクリックしてこのファイルを呼び出す必要はありません (プラグインがロードされたときに呼び出す必要があります)。そのため、他のイベントも開催できます。今、私は NPAPI plugin.i から test.js ファイルを呼び出す必要があります。NPN_INVOKE 内の NPAPI プラグインからいくつかの偽のイベントを起動し、js ファイルにリスナーを登録して js ファイルを実行できますか。または、このファイルを NPAPI コードに挿入する方法はありますか。

他の良い方法はありますか..

助けてください..よろしくお願いします...

4

1 に答える 1

0

2 つのオプションがあります。NPN_Evaluateを使用するか、 NPN_GetValuewindowでオブジェクトへの参照を取得できます。

NPObject* window;
NPError err = NPN_GetValue(pNPP, NPNVWindowNPObject, &window);

ウィンドウ NPObject を取得したら、 NPN_Invokeでグローバル JavaScript 関数を呼び出し、 NPN_GetPropertyNPN_SetPropertyでプロパティを取得/設定できます。

このすべてを大幅に簡素化するFireBreathの使用を検討することもできます。

于 2013-08-21T16:39:50.413 に答える