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.plugin编译 Firebreath 项目后创建的文件)是 Mac OS X Lion 上 x86_64 架构的非胖二进制文件。

关于为什么 JavaScript 找不到该函数的任何想法?我错过了一些明显的东西吗?(让我知道需要更多信息)。

谢谢!

PS。对于使用 JS-Ctypes的 Firefox 插件,我遇到了类似的问题,但已解决。我在这个上尝试了类似的方法并尝试了不同的函数名称。没用。

4

2 回答 2

1

我意识到您需要在 JSAPI 对象中为该方法名称调用 registerMethod 。这对我有用。

于 2012-07-20T18:11:58.283 回答
0

除非最近有所改变,否则 Chrome 不支持 64 位插件。尝试构建它 i386

接下来,我建议使用对象标签而不是嵌入标签。

如果它仍然说没有这样的方法,你可能忘记在你的 JSAPI 对象的构造函数中调用 registerMethod 了。

(更新以包括以下评论中的项目)

于 2012-07-12T16:41:38.613 回答