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

160
Vistas
El permiso RequestContentScript de chrome.declarativeContent API no funciona después de reiniciar el navegador/cerrar y volver a abrir el sitio

Estoy tratando de obtener permiso dinámicamente para ciertos sitios (por ejemplo, amazon.fr) usando un permiso opcional y una vez que obtengo el permiso, estoy inyectando algo de JS en los sitios para los que solicité permisos usando la función RequestContentScript de la API de contenido declarativo .

Todo esto funciona bien por primera vez hasta que cierro el navegador o cierro todas las páginas donde se inyectan los scripts inicialmente. Pero después de que la página inyecte JS no se inyecta en esos sitios. Cuando verifico el permiso y los sitios de la extensión, veo que todos los permisos que solicité opcionalmente todavía están presentes a través de la API de obtención de permisos.

El código js de fondo que estoy usando para solicitar permiso e inyectar scripts es el siguiente

 const conditions = []; chrome.permissions.request({ permissions: ['declarativeContent'], origins:['https://www.amazon.fr/'], }, (granted) => { console.log({ granted }); if (granted) { conditions.push(new chrome.declarativeContent.PageStateMatcher({ pageUrl: { hostEquals: 'www.amazon.fr', schemes: ['https'] }, css: ['div'], })); const rule2 = { conditions, actions: [ new chrome.declarativeContent.RequestContentScript({ js: ['page_injects/index.js'], css: ['page_injects/index.css'] })], }; chrome.declarativeContent.onPageChanged.removeRules(undefined,() => { chrome.declarativeContent.onPageChanged.addRules([rule2]); }); console.log('chrome.declarativeContent.onPageChanged.addRules done'); } });

Dado que esto funciona por primera vez, no estoy seguro de cuál podría ser el problema al tener el mismo comportamiento la segunda vez y después.

¿Algún consejo sobre cómo proceder con esto?

Usé esta pregunta SO para llegar a inyectar scripts opcionalmente.

about 4 years ago · Juan Pablo Isaza
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