0

我正在为嵌入式本机浏览器 (Linux) 开发 NPAPI 插件。我想要一个来自 javascript 的回调函数,它将在我的插件中调用回调函数。根据键盘按键产生的事件。我必须将事件连续发送到浏览器窗口。我对此完全陌生,需要帮助。

提前致谢 。

4

1 回答 1

2

如果您使用的是 FireBreath,关于触发事件的文档已经涵盖了这一点。

如果你正在编写一个普通的 NPAPI 插件,你的插件应该实现addEventListener(type, listener, ...)& removeEventListener()
由于您已经知道如何向插件添加可编写脚本的函数,您只需要添加对这两个函数的支持。

addEventListener()你得到以下论点:

  • type- 应该是一个标识事件的字符串
  • listener- 应该是一个对象,保留并存储它
  • useCapture- 应该是一个布尔值,可选的,如果不存在的话false

要存储监听器,您可以使用一个multimap<SomeStringType,NPObject*>成员,事件字符串作为键,监听器对象作为值。不要忘记留住听众。

触发一个事件,您可以获取equal_range()它并NPN_InvokeDefault()与侦听器对象一起使用。

removeEventListener()接收相同的参数,addEventListener()然后您应该erase()为该事件字符串指定侦听器。不要忘记释放侦听器对象。

为了尊重useCapture相应地扩展上述内容。

于 2012-07-30T20:05:29.167 回答