具有onblur监听器的Chrome打包应用程序

Chrome套装应用程序有没有事件监听器来判断该应用程序是否失去了焦点?我正在尝试制作一个游戏,但当我改变焦点时,似乎无法使其暂停。

我尝试了以下几种不同的方法,但似乎都不起作用。

document.onblur = pause;
document.addEventListener('blur', pause, false);

canvas.onblur = pause;
canvas.addEventListener('blur', pause, false);

window.onblur = pause;
window.addEventListener('blur', pause, false);

chrome.app.window.onblur = pause;
chrome.app.window.onBlur = pause;
chrome.app.window.onblurred = pause;
chrome.app.window.onBlurred = pause;
chrome.app.window.addEventListener('blur', pause, false);

chrome.app.window.current().onblur = pause;
chrome.app.window.current().onBlur = pause;
chrome.app.window.current().onblurred = pause;
chrome.app.window.current().onBlurred = pause;
chrome.app.window.current().addEventListener('blur', pause, false);

有什么想法吗?从字面上讲,我可以将整个列表复制到我的代码中,而不是一个单独的列表触发暂停。

我迷路了,谷歌有3个结果,其中有一些无关的东西,还有更多我认为重要的省略作品。


解决方案

AppWindow只是Chrome特定的接口,它只提供文档中定义的方法。如果您想使用来自普通html窗口对象标准事件,您必须首先使用AppWindowcontentWindow属性获取它。示例:

chrome.app.window.current().contentWindow.onblur = function(){console.log("blur")};

相关文章