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

205
Vistas
Extensión de Chrome de Gmail "Se negó a cargar el script porque infringe la siguiente directiva de Política de seguridad de contenido: "script-src 'self'". Manifiesto v3

Me he metido en la madriguera del conejo de StackOverflow y encontré preguntas similares que no funcionan o parecen inseguras, así que aquí hay una más.

Mi meta

Quiero crear una extensión de Google Chrome que funcione con Gmail. Cuando alguien redacta un nuevo correo electrónico, agrega una pequeña casilla de verificación al generador de correo electrónico. Cuando alguien marca esta casilla, solo quiero que la consola registre "marcado". Se parece a esto

Metodología y problema

La forma más fácil de hacer esto es simplemente crear un atributo para "onchange" y llamar a una función. Como esto:

 mauticCheckbox.setAttribute('onchange', 'test()')

Pero esto genera un error: "Se negó a ejecutar el controlador de eventos en línea porque viola la siguiente directiva de Política de seguridad de contenido:" script-src 'report-sample' 'nonce-isArkHmhi5JlS1U0S0z2uA' 'unsafe-inline' 'strict-dynamic' https: http: 'evaluación insegura'"."

Leí en otras preguntas similares que puede deshabilitar el 'inseguro en línea', pero que es menos seguro. Esto podría ser un último recurso, pero prefiero no hacerlo.

Así que sigo investigando y la otra forma de hacer esto parece ser agregar JavaScript en la etiqueta principal. No tengo un archivo HTML para mi código ya que lo estoy agregando a la ventana de redacción de Gmail, por lo que mi código era algo como esto:

 window.onload=function() { addJavaScriptHead() } function addJavaScriptHead() { let head = document.getElementsByTagName('head')[0]; let script = document.createElement('script'); script.type = 'module'; script.onload = function() { listenForClick(); // My function from background.js } script.src = 'background.js'; head.appendChild(script); }

Pero, por desgracia, esto se encuentra con un mensaje de error similar (pero diferente): "Se negó a cargar el script 'https://mail.google.com/mail/u/0/background.js' porque viola la siguiente Política de seguridad de contenido directiva: "script-src 'self'"."

¿Cómo puedo llamar a una función cuando este elemento se cambia de no hacer clic a hacer clic y viceversa?

Gracias por adelantado :)

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

0

En primer lugar, debe configurar su archivo en web_accessible_resources en manifest.json

 "web_accessible_resources" : { "resources": ["path/to/background.js"], "matches": ["<all_urls"] }

Luego, cambie el script src a:

 script.src = chrome.runtime.getURL("path/to/background.js")
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