javascript - habilitar - script de contenido de inserción de extensión de Chrome en la acción del navegador
instalar javascript (2)
Estoy tratando de hacer básicamente un elemento resaltador de la extensión de cromo. Flujo de trabajo: haga clic en el ícono del navegador, haga clic en la página, luego haga clic en el elemento seleccionado
Tengo problemas para ejecutar secuencias de comandos de contenido en la acción del navegador usando manifest_version: 2 Cuando inspecciono la ventana emergente que aparece, dice:
Se negó a ejecutar el script en línea porque viola la siguiente directiva de Política de seguridad de contenido: "script-src ''self'' chrome-extension-resource:" (popup.html: 5).
Que es donde se encuentra el script en línea en popup.html y el script no funciona
Yo tengo:
manifest.json:
{
"browser_action": {
"default_icon": "images/icon.gif",
"default_popup": "popup.html"
},
"manifest_version": 2,
"description": "MEH!",
"name": "My First Extension",
"permissions": [
"tabs", "http://*/*", "https://*/*"
],
"version": "0.1"
}
popup.html:
<html>
<head>
</head>
<body>
<script>
chrome.tabs.executeScript(null,{
code:"document.body.style.backgroundColor=''red''"
});
</script>
<div id=''msg'' style="width:300px">...</div>
</body>
</html>
Cualquier ayuda sería muy apreciada
Resulta que no pude leer el error correctamente hasta que lo vi aquí
Al parecer, v2 manifiesta no le permite tener scripts en línea, por lo que solo necesita
src="path_to_the_file.js"
En extensión a la respuesta de @ tak3r y al comentario de @ Doug:
Los scripts en línea deben cambiarse a scripts externos.
Movimiento:
<script>
chrome.tabs.executeScript(null,{
code:"document.body.style.backgroundColor=''red''"
});
</script>
A un nuevo archivo llamado main.js
y elimine las etiquetas <script></script>
Incluya lo siguiente en el <head></head>
de su HTML
<script type="text/javascript" src="main.js"></script>