我正在使用Addon SDK 1.17和Firefox 33。
我正在尝试在插件中实现类似于aardvark的内容。
在我的内容脚本中,我有这个,进行设置:
self.on('message', function onMessage(activation, totarget) {
document.addEventListener("click", onMouseClick, true);
document.addEventListener("keypress", onKeyPress, true);
document.addEventListener("mousemove", onMouseMove, true);
});
到目前为止onKeyPress函数是这样的:
function onKeyPress(event) {
console.log('key pressed');
}
我已尝试将上述内容放入普通的html页面中:
<html>
<body>
<script>
function onKeyPress(event) {
console.log('key pressed')
}
document.addEventListener("keypress", onKeyPress, true);
</script>
</body>
</html>
并且控制台快乐地记录我的按键。
我无法理解为什么这在我的插件中不起作用,因为其他鼠标和点击事件工作得很好。
我尝试将听众附加到window
,然后听keydown
,但无济于事。
我也尝试将其导出为xpi并将其安装在我的主Firefox中,但没有骰子
发生了什么事?
答案 0 :(得分:2)
事实证明,我不知道隐藏面板我激活了处理程序,无法将焦点恢复到主窗口。
激活处理程序后执行window.focus();
修复了问题。