NPAPI mac插件与浏览器共享命令

时间:2013-01-18 17:03:18

标签: c++ npapi

我在Safari,Chrome和Firefox中运行了一个NPAPI插件。我能够处理事件回调的所有组合键,但我遇到的问题是某些键组合。

在插件中,我正在尝试使用Command + O来激活插件的文件打开对话框,但浏览器也会触发它的打开文件对话框。

据说,为事件处理方法返回TRUE应报告该插件处理该事件的浏览器,但我没有运气。

1 个答案:

答案 0 :(得分:1)

您忽略了指定您所使用的操作系统;基于你说“Command + O”而不是“Ctrl-O”的事实,我假设你在Mac上。坏消息是,在Mac上,所有事件都从浏览器传递到插件。如果浏览器没有选择使覆盖事件的处理成为可能(听起来就是这种情况),那么可能没有什么可以做的,缺少可能使用一些OS钩子拦截密钥浏览器获取之前的事件,这似乎有风险。

在Windows上你可能会有更多的运气,因为窗口插件实际上应该先将事件传递给父窗口,然后拦截它们。但是,在Mac上,它完全没有窗口,当浏览器感觉像是给你时,你会得到一些事件。