lor*_*ond 2 firefox firefox-addon firefox-addon-sdk
是否可以在FireFox插件中跟踪keydown/keyup事件?我想实现类似于以下场景的东西:
您需要在每个浏览器窗口中注册您的事件监听器.高级SDK API不允许您直接访问浏览器窗口,但是,您必须使用低级模块,特别是(当前未记录的)sdk/keyboard/observer模块.它允许您在所有浏览器窗口中收听关键事件,因此这样的事情应该有效:
// Register key event handlers in each browser window
var {observer} = require("sdk/keyboard/observer");
observer.on("keydown", function(event) {
// Ignore events that have been handled elsewhere (e.g. by the web page)
if (event.defaultPrevented)
return;
if (...)
panel.show();
});
observer.on("keyup", function(event) {
// Ignore events that have been handled elsewhere (e.g. by the web page)
if (event.defaultPrevented)
return;
if (...)
panel.hide();
});
Run Code Online (Sandbox Code Playgroud)
笔记:
sdk/keyboard/observer 模块完全没有文档,它可能随时改变或完全消失.WindowTracker从sdk/window-utils现在不推荐使用的模块中使用的.如果您真的想自己查看浏览器窗口,现在可以使用(也是未记录的)sdk/windows/observer模块,该模块允许监听open和close事件.isBrowser()现在可以通过sdk/window/utils模块获得区分浏览器窗口的功能.您还需要使用windows()函数来考虑已经打开的窗口,Windows观察者不会自动执行此操作.| 归档时间: |
|
| 查看次数: |
893 次 |
| 最近记录: |