jquery – Chrome扩展程序 – 查找所有打开的选项卡并执行所有脚本

前端之家收集整理的这篇文章主要介绍了jquery – Chrome扩展程序 – 查找所有打开的选项卡并执行所有脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在单击扩展按钮时尝试修改我的代码,它将在所有打开的选项卡上执行,而不是仅在活动选项卡上执行.

background.js

chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.executeScript(null,{ file: "jquery-2.1.0.min.js" },function() {
    chrome.tabs.executeScript(null,{file: "change.js"});
  });
});

的manifest.json

{
  "manifest_version": 2,"name": "GSHOP","version": "2","description": "I do Stuff","background": {
    "persistent": false,"scripts": ["jquery-2.1.0.min.js","background.js"]
   },"browser_action": {
    "name": "Manipulate DOM","icons": ["icon.png"],"default_icon": "icon.png"
  },"permissions": [
    "activeTab","tabs","http://*/*","https://*/*"
    ]
}

我相信我有逻辑,我无法想象如何去做.我相信我需要找到多少个标签打开tabs.length?并迭代它们,但我无法让它工作.

不起作用

chrome.browserAction.onClicked.addListener(function(tabs) {
            for (var i = 0; i < tabs.length; i++) {

            chrome.tabs.executeScript(tabs[i].id,{file: "jquery-2.1.0.min.js" },function() {
            chrome.tabs.executeScript(tabs[i].id,{file: "change.js"});
            });
            }
        });

解决方法

试试这样:
chrome.browserAction.onClicked.addListener(function (tab) {
  chrome.tabs.query( {},function (tabs) { // The Query {} was missing here
    for (var i = 0; i < tabs.length; i++) {
      chrome.tabs.executeScript(tabs[i].id,{file: "jquery-2.1.0.min.js"});
      chrome.tabs.executeScript(tabs[i].id,{file: "change.js"});
    }
  });
});

猜你在找的jQuery相关文章