首页 > 解决方案 > Chrome 扩展打开太多标签

问题描述

出于某种原因,当我单击扩展程序图标时,我的扩展程序(应该打开一个选项卡)首先会这样做,但是当我第二次单击它时,它会打开另外 2 个选项卡。第三次,它会打开另外 3 个选项卡。因此,在单击此扩展图标 3 次后,我应该有 3 个新标签,但我有 6 个。有什么想法吗?(这是我的扩展的简化版本)

背景脚本:

chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
    var activeTab = tabs[0];
    chrome.tabs.sendMessage(activeTab.id, {"message": "clicked_browser_action"});
    console.log("worked so far");
  });


  chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) {
      if( request.type === "copy" ) {
        console.log(request.url)
        chrome.tabs.create({"url": request.url});

      }
    }
  );
});

内容脚本:

chrome.runtime.onMessage.addListener(
  function(request, sender, sendResponse) {
    if( request.message === "clicked_browser_action" ) {
      chrome.runtime.sendMessage({"type":"copy","url" : "http://www.google.com"});
    }
  }
);

标签: javascriptgoogle-chromegoogle-chrome-extension

解决方案


推荐阅读