huc*_*uhy 4 google-chrome-extension
当 chrome 打开和关闭时,我不知道如何用“背景页面”开始事件。
例如,当 chrome 打开时 alert("open") 和当 chrome 关闭时 alert("close") 。
请帮我。
在没有任何上下文的情况下,我将仅对可能性进行一般概述。
注意:不要依赖“关闭”事件!如果需要同步变量,使用window.setInterval或chrome.alarms定期保存变量。当 Chrome 关闭时,您的扩展程序通常也会被卸载。您无法执行任何异步任务,如果时间过长,即使是同步任务也可能失败(issue 227335)。
chrome.runtime.onStartup事件。 chrome.runtime.onInstalled事件)window.onunload事件。如果您的扩展程序具有后台权限,则计算窗口最有意义。如果没有此权限,您的扩展程序将在 Chrome 的最后一个窗口关闭时卸载。有了后台权限,即使所有 Chrome 窗口都关闭,您的扩展程序仍将保留。注意:除非你的扩展真的需要,否则不要添加后台权限;想要监控 Chrome 是“打开”还是“关闭”不是一个很好的理由!
要检测窗口何时打开,请使用该chrome.windows.onCreated事件。
要检测窗口何时关闭,请使用该chrome.windows.onRemoved事件。
为了知道 Chrome 是打开还是关闭,只需计算窗口的数量。例如:
// background.js
var windowCount = 0;
chrome.windows.getAll({}, function(windows) {
windowCount = windows.length;
chrome.windows.onCreated.addListener(function() {
++windowCount;
checkWindowCount();
});
chrome.windows.addListener(function() {
if (--windowCount === 0) {
alert('Closed!');
}
});
checkWindowCount();
});
// Called when the number of windows have been incremented
function checkWindowCount() {
if (windowCount === 1) {
alert('Opened!');
}
}
Run Code Online (Sandbox Code Playgroud)