首页 > 解决方案 > 如何在创建新选项卡后仅收听 tabs.onUpdated 并阻止 tabs.onActivated?

问题描述

我的扩展同时监听 onActivated 和 onUpdated。在用户打开新选项卡的情况下,两个侦听器首先使用 onActivated 触发其函数,然后是 onUpdated。

问题是,我对两个侦听器的函数是相同的,所以我只希望 onUpdated 触发它的函数并在这种特定情况下阻止 onActivated 。

所以基本上我想要:

我尝试使用 onActivated 中的 if 语句来检查 onUpdated 但未能获得所需的结果。

function saveDataAndLogTime(tab) { ... };

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
    if (changeInfo.status == "complete") {
        saveDataAndLogTime(tab);
    }
});

chrome.tabs.onActivated.addListener(function(activeInfo) {
    chrome.tabs.get(activeInfo.tabId, function(tab) {
        saveDataAndLogTime(tab);
    });
});

任何帮助,将不胜感激。

标签: google-chrome-extension

解决方案


推荐阅读