创建新标签后,如何仅监听tabs.onUpdated和阻止tabs.onActivated?

时间:2019-05-11 16:14:11

标签: google-chrome-extension

我的扩展程序监听onActivated和onUpdated。在用户打开新选项卡的情况下,两个侦听器都首先使用onActivated和onUpdated触发其功能。

问题是,我的两个侦听器的功能都相同,因此我只希望onUpdated触发其功能并在此特定情况下阻止onActivated。

所以基本上我想要:

  • 用户刷新页面:onUpdated触发功能
  • 用户更改活动标签:onActivated触发功能
  • 用户打开一个新标签:onActivated在onUpdated触发其功能时被阻止

我尝试使用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);
    });
});

任何帮助将不胜感激。

0 个答案:

没有答案