【问题标题】:Can I do tabs.sendMessage to specific tab?我可以对特定选项卡执行 tabs.sendMessage 吗?
【发布时间】:2022-11-04 05:51:30
【问题描述】:

例如,我打开了 3 个选项卡,第三个选项卡处于活动状态。我可以从后台脚本“发送消息”到第一个选项卡(非活动)吗?

另外,如何做到这一点,“.tabs.update”

我可以通过这个对活动选项卡执行“.tabs.update”,

browser.tabs.sendMessage(tabs[0].id, {
    stat: "check"
}, function (response) {
    browser.tabs.update(tabs[0].id, {
        url: response.url
    });
});

【问题讨论】:

    标签: javascript google-chrome-extension firefox-addon


    【解决方案1】:

    每次更新选项卡时,此示例都会发送到先前更新的选项卡。

    const tabIds = {};
    
    chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => {
      if (changeInfo.status === "complete") {
        tabIds[tabId] = "";
    
        for (const tabId in tabIds) {
          console.log("sendMessage tabId=", tabId);
          chrome.tabs.sendMessage(parseInt(tabId, 10), "hoge");
        }
    
      }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-02
      • 1970-01-01
      • 1970-01-01
      • 2020-03-20
      • 2016-06-08
      • 1970-01-01
      • 2014-05-20
      • 1970-01-01
      相关资源
      最近更新 更多