C++ NPAPI mac插件与浏览器共享命令
我有一个运行在Safari、Chrome和Firefox中的NPAPI插件。我能够用事件回调处理所有的组合键,但我遇到的问题是某些组合键 在插件中,我试图使用Command+O启动插件的文件打开对话框,但浏览器也启动了其打开文件对话框C++ NPAPI mac插件与浏览器共享命令,c++,npapi,C++,Npapi,我有一个运行在Safari、Chrome和Firefox中的NPAPI插件。我能够用事件回调处理所有的组合键,但我遇到的问题是某些组合键 在插件中,我试图使用Command+O启动插件的文件打开对话框,但浏览器也启动了其打开文件对话框 据推测,返回TRUE for event handling method应该会向浏览器报告插件处理了事件,但我对此运气不佳;基于你说的是“Command+O”而不是“Ctrl-O”,我假设你在Mac上。坏消息是,在Mac上,所有事件都从浏览器传递到插件。如果浏览器
据推测,返回TRUE for event handling method应该会向浏览器报告插件处理了事件,但我对此运气不佳;基于你说的是“Command+O”而不是“Ctrl-O”,我假设你在Mac上。坏消息是,在Mac上,所有事件都从浏览器传递到插件。如果浏览器不选择覆盖事件的处理(听起来似乎是这样),那么除了可能在浏览器获取密钥事件之前使用一些操作系统钩子拦截密钥事件之外,您可能无能为力,这似乎很危险
在windows上,您可能会更幸运一些,因为窗口插件实际上应该在事件传递到父窗口之前首先获取事件,从而可以拦截它们。不过,在Mac电脑上,它是无窗口的,当浏览器想给你一些事件时,你就会收到这些事件。谢谢。对于我一直在处理的命令,浏览器确实在转发它们,但仍然没有控制权在之后停止它们的操作。除了在它到达浏览器之前以某种方式停止它,没有办法这样做。