Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

170
Vistas
Obtener `Error no detectado (en promesa): Falta el permiso de host para la pestaña` en el script de fondo de la extensión de Firefox

Aquí está mi guión de fondo;

 /** * CSS to hide everything on the page, */ const hidePage = `body > : { display: none; }`; /** * When a tab is loaded, check if the plugin is on. If the plugin is on, check if the url matches the page. * If it does, block it */ browser.tabs.onActivated.addListener(function (activeInfo) { browser.storage.local.get("onOff") .then((result) => { if (Object.entries(result).length === 0 || !result.onOff.value) { return; } browser.tabs.query({ currentWindow: true, active: true }).then((tabs) => { let tab = tabs[0]; console.log(tab.url); browser.tabs.insertCSS({code: hidePage}) }, console.error) }); });

y aquí está mi manifest.json

 { "manifest_version": 2, "name": "Beastify", "version": "1.0", "description": "Adds a browser action icon to the toolbar. Click the button to choose a beast. The active tab's body content is then replaced with a picture of the chosen beast. See https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Examples#beastify", "homepage_url": "https://github.com/mdn/webextensions-examples/tree/master/beastify", "icons": { "48": "icons/beasts-48.png" }, "permissions": [ "tabs", "activeTab", "storage" ], "browser_action": { "default_icon": "icons/beasts-32.png", "default_title": "BlockIt", "default_popup": "popup/blockit.html" }, "background": { "scripts": ["background_scripts/blocker.js"] }, "web_accessible_resources": [ "beasts/frog.jpg", "beasts/turtle.jpg", "beasts/snake.jpg" ] }

Hay algunas cosas superfluas allí porque estoy creando mi complemento a partir de un tutorial de extensión de Firefox .

El código exacto que está causando el Uncaught (in promise) Error: Missing host permission for the tab es

browser.tabs.insertCSS({code: hidePage})

línea 23 de blocker.js

Creo que tengo los permisos correctos para insertar css desde este script de fondo, por lo que no puedo entender por qué ocurre este error. También traté de ejecutar un script de contenido en lugar de ejecutar la línea anterior que arroja el error, pero falló con el mismo error.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

activeTab solo funciona cuando el usuario invoca explícitamente su extensión como se describe en la documentación para extensiones WebExtensions y Chrome ). Evidentemente, su nombre es muy engañoso: debería haber sido algo como activeTabWhenInvoked .

Para acceder a cualquier pestaña sin interacción previa con su extensión, deberá agregar amplios permisos de host en manifest.json:

 "permissions": ["<all_urls>"],

Ahora no hay necesidad de activeTab , pero es posible que aún desee mantener el permiso de tabs para Firefox anterior a 86, consulte la nota en la documentación .

PD: es mejor eliminar el oyente por completo cuando onOff es falso para que la extensión no se ejecute en vano. Puede hacerlo usando una función con nombre global para el oyente onActivated y observando los cambios en onOff a través del evento browser.storage.onChanged.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda