我在本地存储中设置了一些东西(其中tabId是触发标签的id [onUpdated event])
var visited = {};
visited[tabId] = true;
chrome.storage.local.set(visited);
然后我希望在页面卸载时将存储的变量更改为false(我收集时会刷新,移动到新网页或关闭选项卡)
window.onunload = resetStorage;
function resetStorage() {
var visited = {};
chrome.tabs.query({ currentWindow: true }, function (result) {
result.forEach(function (tab) {
visited[tab.id] = false;
console.log(visited);
chrome.storage.local.set(visited);
});
});
};
但这似乎没有触发(我不能让console.log出来,不确定你是否可以在卸载事件?),因为它不会改变存储的值。
我做错了什么?
作为一些背景,我正在跟踪我是否已经在页面上运行代码,以便它不会从iframe加载或重定向中多次触发(我认为我需要额外的代码来处理重定向)。