2013-03-27 4 views
16

Ich bin Neuling in Google Chrome Erweiterung Delveopment. Ich versuche, eine einfache Erweiterung und zu entwickeln ich halte den Fehler oben bekommenJavascript werfen: Abgelehnt, um Inline-Ereignishandler auszuführen, weil es die folgende Content Security Policy Direktive verletzt: "script-src 'self'

mein Manifest.

{ 
    "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"] 
} 

der hTML-Code:

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

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

</body> 
</html> 

und die js:

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

    } 

Dank im Voraus

Nir

+1

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

+0

Mögliches Duplikat von [onClick in Chrome Extension funktioniert nicht] (http://stackoverflow.com/questions/13591983/onclick-in-chrome-extension-not-working) – Teepeemm

+0

Mögliches Duplikat von [Das Chrome-Erweiterungspopup funktioniert nicht, Klick-Ereignisse werden nicht behandelt] (http://stackoverflow.com/questions/17601615/the-chrome-extension -popup-is-not-working-click-events-werden nicht behandelt) – Makyen

Antwort

16

Ist dies nicht eine Chrome-Erweiterung war, Sie 'unsafe-inline' in die Liste der zulässigen Orte hinzufügen könnte Skripte aus, zu laden, aber Sie sollten vermeiden, mit Inline-Event-Handler überhaupt.

ersetzen (in HTML):

onload = "loadHandler()" 

mit (im Skript):

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

'unsafe-inline' funktioniert nicht in Chrome-Erweiterungen. Das Verschieben des Ereignis-Listeners in eine separate Skriptdatei ist die einzige Lösung. –

+0

Danke es hat super funktioniert – Nir

+0

leider ja. Jetzt müssen wir herausfinden, wie man so viele dynamisch angehängte Klickereignisse verwaltet. –

Verwandte Themen