0

从我的角度来看,它应该是 javascript 端的一些代码,在 NPAPI 插件中设置回调函数。在 NPAPI 方面,应该以某种方式调用此回调函数,从而将通知从 NPAPI 发送到 javascript。

我正在尝试为 Chrome 浏览器执行此操作,但它应该适用于任何支持 NPAPI 的浏览器。简短的 NPAPI 和 javascript 代码示例将非常有帮助。

4

1 回答 1

1

我没有适合您的工作代码示例,但实现起来并不难。FireBreath做的方式基本上是自己实现 addEventListener 和 removeEventListener;回调函数将作为 NPObject(在 NPVariant 内)出现,您只需使用所需参数在 NPObject 上调用 NPN_InvokeDefault 即可触发该回调。

这实际上并不像真正的 javascript 事件,但对于大多数用途来说它已经足够接近了。

当然,您也可以使用任何接受 NPObject 作为参数之一的方法,并以这种方式使用它来进行回调。

您可以在 FireBreath 代码库中找到示例代码,但为了简单和干燥,它被抽象了一点。

于 2012-08-29T04:38:22.650 回答