link descargar como jquery google-chrome-extension tabs manifest

descargar - jquery min map



Extensión de Chrome: encuentre todas las pestañas abiertas y ejecute el script en todas (3)

Prueba este. Espero que esto ayude.

chrome.browserAction.onClicked.addListener(function(tab) { executeScriptsInExistingTabs(); }); function executeScriptsInExistingTabs(){ chrome.windows.getAll(null, function(wins) { for (var j = 0; j < wins.length; ++j) { chrome.tabs.getAllInWindow(wins[j].id, function(tabs) { for (var i = 0; i < tabs.length; ++i) { if (tabs[i].url.indexOf("chrome://") != 0) { chrome.tabs.executeScript(tabs[i].id, { file: ''js/change.js'' }); } } }); } }); }

Al tratar de modificar mi código para cuando se haga clic en el botón de extensión, se ejecutará en todas las pestañas abiertas en lugar de solo en la activa.

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://*/*" ] }

Creo que tengo la lógica baja, simplemente no puedo entender cómo hacerlo. Creo que necesito encontrar cuántas pestañas hay abiertas tabs.length? e iterar sobre ellos, pero simplemente no puedo hacer que funcione.

No funciona

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"}); }); } });


Pruebe de esta manera:

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"}); } }); });


chrome.browserAction.onClicked devoluciones de llamada chrome.browserAction.onClicked toman un solo objeto de tab para la pestaña actual. No es una lista de todas las pestañas. Dentro de la onClicked llamada onClicked tendrás que ejecutar chrome.tabs.query y recorrer las pestañas en la devolución de llamada de la query .