Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

166
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!