Javascript 使用onKeyDown Chrome应用程序
我有一个问题要问你们,我不是100%确定如何实现这一点Javascript 使用onKeyDown Chrome应用程序,javascript,google-chrome-app,Javascript,Google Chrome App,我有一个问题要问你们,我不是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.h
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以使其正常工作?或者我需要将该函数放入另一个文件中吗?任何帮助都将不胜感激请尝试以下方法:
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>
我在ChromeAPI文档中没有看到chrome.app.window.onKeyDown 假设win是chrome.app.window.create回调函数的参数,则DOM窗口可用作win.contentWindow(而不是win)。这是您应该使用addListener函数向其中添加侦听器的窗口。我不确定onKeyDown是否定义为属性(…onKeyDown=函数…)
无论是在background.js页面中添加侦听器,还是从HTML文件引用的页面中添加侦听器,都没有区别。我认为后者会更好,因为按键事件只与用户界面相关,而与背景页面无关。此外,当按下某个键时,您所采取的任何操作都可能是针对应用程序页面,而不是后台页面。那么if语句是否会同时出现在这两个函数中呢?
chrome.app.window.current().onKeyDown = ...