MacでChrome用のNPAPIプラグインを作成しようとしています。基本的なnpapiプラグインと基本的なプラグインを作成manifest.jsonしbackground.htmlてロードしました。私background.htmlはembedMimetypeによってプラグインをフェッチするためのタグを持っています。
パッケージ化されていない拡張機能をChromeからロードし、c ++コード(xcode4)をデバッグしようとすると、関数が次の順序で呼び出されていることがわかりました。
NP_InitializeNP_GetEntryPointsNPP_NewNPP_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ですか?