1

これは、Chrome の background.html 内の JavaScript コードです。

var plugin = document.getElementById("reverbPlugin");
if (!plugin.startBackgroundThread()) {
        console.log("Failed to start background thread: " + plugin.getErrorMessage());
        return;
}

これがその HTML 部分です。

<embed type="application/x-reverbbrowserplugin" id="reverbPlugin"></embed>

JavaScript コードで発生する例外は、TypeError - property_not_function.

私のライブラリ ( BrowserPlugin.pluginFirebreath プロジェクトのコンパイル後に作成されたファイル) は、Mac OS X Lion の x86_64 arch 用の非ファット バイナリです。

関数がJavaScriptによって見つからない理由について何か考えはありますか? 明らかな何かが欠けていますか?(さらに情報が必要な場合はお知らせください)。

ありがとう!

PS。JS-Ctypes を使用した Firefox プラグインでも同様の問題がありましたが、解決されました。これで同様のアプローチを試し、別の関数名を試しました。うまくいきませんでした。

4

2 に答える 2

1

JSAPIオブジェクトでそのメソッド名に対してregisterMethodを呼び出す必要があることに気付きました。それは私のために働いた。

于 2012-07-20T18:11:58.283 に答える
0

これが最近変更されていない限り、Chrome は 64 ビット プラグインをサポートしていません。i386でビルドしてみる

次に、embed タグの代わりに object タグを使用することをお勧めします。

それでもそのようなメソッドがないと表示される場合は、JSAPI オブジェクトのコンストラクターで registerMethod を呼び出すのを忘れている可能性があります。

(以下のコメントからの項目を含むように更新されました)

于 2012-07-12T16:41:38.613 に答える