MacでChrome用のNPAPIプラグインを作成しようとしています。基本的なnpapiプラグインと基本的なプラグインを作成manifest.json
しbackground.html
てロードしました。私background.html
はembed
Mimetypeによってプラグインをフェッチするためのタグを持っています。
パッケージ化されていない拡張機能をChromeからロードし、c ++コード(xcode4)をデバッグしようとすると、関数が次の順序で呼び出されていることがわかりました。
NP_Initialize
NP_GetEntryPoints
NPP_New
NPP_Destroy
この後、拡張機能アイコンをクリックすると、popup.html
が実行されます。私popup.html
はこれらの行を持っています:
ライン1:
var pluginObj = document.getElementById("pluginId");
2行目:
pluginObj.Myfunction();
ただし、1行目では、NP_Getvalue()
関数が呼び出されないため、「スクリプト可能なNPObject」はインスタンス化されません。2行目で、ChromeJavaScriptコンソールは次のように述べています。
Error in event handler for 'undefined': Object #<HTMLEmbedElement> has no method 'Myfunction' TypeError: Object #<HTMLEmbedElement> has no method 'Myfunction'
なぜNPP_Destroy
関数は?の直後に呼び出されるのNPP_New function
ですか?