2013-03-27 9 views
16

Sono novizio in google chrome extention delveopment. Sto provando a sviluppare un'estensione semplice e continuo a ricevere l'errore precedenteLancio di Javascript: rifiutato di eseguire il gestore di eventi inline perché viola la seguente direttiva di Content Security Policy: "script-src 'self'

mio manifesto:.

{ 
    "name": "set my favourties", 
    "description" : "just another super awesome plugin", 
    "version" : "0.1", 
    "background": { 
    "page": "backround.html" 
    }, 

    "manifest_version": 2, 
    "content_security_policy": "script-src 'self' https://www.google.com; object-src 'self'", 

    "browser_action" :{ 
    "popup" : "popup.html", 
    "default_icon" : "icon.gif" 
    }, 

    "permissions" : ["notifications"] 
} 

il codice html:

<html> 
<head> 
<script src = "backround.js"> 

</script> 
</head> 
<body onload = "loadHandler()"> 

</body> 
</html> 

ei js:

function loadHandler(){ 
    window.webkitNotifications.createNotification("icon.gif","Plugin Loaded","it was loaded").show(); 

    } 

grazie in anticipo

Nir

+1

https://developer.chrome.com/extensions/contentSecurityPolicy.html#JSExecution –

+0

Eventuali duplicati di [onClick all'interno di Chrome Extension non funziona] (http://stackoverflow.com/questions/13591983/onclick-within-chrome-extension-not-working) – Teepeemm

+0

Possibile duplicato di [Il popup dell'estensione di Chrome non funziona, gli eventi click non vengono gestiti] (http://stackoverflow.com/questions/17601615/the-chrome-extension -popup-is-not-working-click-events-not-handled) – Makyen

risposta

16

Se questo non era un estensione Chrome, si potrebbe aggiungere 'unsafe-inline' alla lista dei luoghi accettabili per caricare script da, ma si dovrebbe evitare l'uso di gestori di eventi in linea a tutti.

Sostituire (in HTML):

onload = "loadHandler()" 

con (nello script):

window.addEventListener('load', loadHandler); 
+3

'in-safe non valido 'non funziona nelle estensioni di Chrome. Lo spostamento del listener di eventi in un file di script separato è l'unica soluzione. –

+0

Grazie ha funzionato benissimo – Nir

+0

purtroppo sì. Ora dobbiamo capire come gestire tanti eventi di clic collegati dinamicamente. –

Problemi correlati