He desarrollado una extensión de Chrome En Chrome todo funciona como esperaba
Ahora estoy tratando de migrar la extensión a Firefox.
Me dice que la extensión desarrollada es compatible con Firefox (utilicé este enlace https://www.extensiontest.com/ )
Sin embargo, tengo algunos problemas. Tengo un devtools_script ("VariableGrid.js") que envía mensajes a ContentScript a través de chrome.tabs.query.
chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) { chrome.tabs.sendMessage(chrome.devtools.inspectedWindow.tabId, { from: "FromExample", message: "MessageExample" }, (response) => { ...... }); });Mi ContentScript responde al mensaje de esta manera
chrome.runtime.onMessage.addListener( (request, sender, sendResponse) => { ...... });En Firefox, chrome.tabs no está definido. Intenté usar browser.tabs pero es lo mismo
Leí que las pestañas solo se pueden usar en el script de fondo
¿Por qué funciona esto en mi extensión de Chrome y no en Firefox?
Si intentara mover ese fragmento de código al script de fondo, aún tendría un problema:
chrome.devtools.inspectedWindow.tabId no está definido
mi manifiesto es así
{ "browser_specific_settings": { "gecko": { "id": "addon@example.com", "strict_min_version": "42.0" } }, "name": "xxxx", "description": "xxxx", "version": "0.0.0.1", "browser_action": { "default_popup": "Popup.html" }, "manifest_version": 2, "background": { "scripts":["jquery.min.js", "background.js"], "persistent": true }, "content_scripts": [ { "matches": ["<all_urls>"], "js": ["jquery.min.js", "Content.js"] } ], "web_accessible_resources": [ "Content.js" ], "devtools_page": "Devtools.html", "permissions": [ "webRequest", "webRequestBlocking", "tabs", "activeTab", "notifications", "storage", "http://*/", "https://*/", "<all_urls>" ] }