我有一个问题,你们我不是100%肯定如何实现这个
chrome.app.window.onKeyDown = function(e) {
if (e.keyCode == 27 /* ESC */) { e.preventDefault(); }
};
我的清单发送到我的main.js文件,该文件是
chrome.app.runtime.onLaunched.addListener(function() {
chrome.app.window.create('browser.html', {
state: "fullscreen"
});
});
如何将OnKeyDown添加到我的main.js以使其工作?或者我需要将该功能放入另一个文件?任何帮助将不胜感激
答案 0 :(得分:3)
试试这个:
chrome.app.runtime.onLaunched.addListener(function() {
chrome.app.window.create(
'browser.html',
{state: "fullscreen"},
function(win) {
win.contentWindow.onKeyDown = function(e) ...
}
);
});
或者,您可以链接HTML中的其他脚本:
<强> browser.html 强>:
...
<script src="xyz.js"></script>
从 xyz.js 引用相同的窗口对象:
chrome.app.window.current().onKeyDown = ...
答案 1 :(得分:1)
我在Chrome API文档中没有看到chrome.app.window.onKeyDown。
DOM窗口可用作win.contentWindow(而不是win),假设win是chrome.app.window.create回调函数的参数。这是您应该使用addListener函数添加侦听器的窗口。我不确定是否将onKeyDown定义为属性(... onKeyDown = function ...)。
无论是在background.js页面中添加侦听器还是在HTML文件中引用的页面都没有区别。我认为后者会更好,因为keydown事件只与用户界面相关,而不是后台页面。此外,按下某个键时所执行的操作可能适用于应用页面,而不是后台页面。