Heim >Web-Frontend >js-Tutorial >Warum funktionieren die Popup-Klickereignisse meiner Chrome-Erweiterung nicht?
Behebung von Problemen mit Chrome-Erweiterungs-Popups: Umgang mit Klickereignissen
Beim Erstellen eines Chrome-Erweiterungs-Popups mit JavaScript können Benutzer auf Probleme mit Klickereignissen stoßen nicht richtig gehandhabt. Dies kann auf Verstöße gegen die standardmäßige Content Security Policy (CSP) zurückzuführen sein.
Problembeschreibung:
Ein Entwickler hat eine JavaScript-Variable und eine Schaltfläche innerhalb der Erweiterung erstellt Popup. Beim Klicken auf die Schaltfläche wird erwartet, dass die Variable um 1 erhöht wird. Der Code funktioniert jedoch nicht wie vorgesehen.
Manifest.json-Konfiguration:
{ "name":"Facebook", "version":"1.0", "description":"My Facebook Profile", "manifest_version":2, "browser_action":{ "default_icon":"google-plus-red-128.png", "default_popup":"hello.html" } }
Popup-Seite HTML:
<!DOCTYPE html> <html> <head> <script> var a=0; function count() { a++; document.getElementById("demo").innerHTML=a; return a; } </script> </head> <body> <p>
Erklärung:
Das Problem entsteht durch das Vorhandensein von Inline-JavaScript in der HTML-Datei. Inline-JavaScript ist vom Standard-CSP verboten.
Lösung:
Um dieses Problem zu lösen, verschieben Sie das gesamte Inline-JavaScript in eine separate JS-Datei.
hello.html (Popup Seite):
<!DOCTYPE html> <html> <head> </head> <body> <p>
popup.js:
var a = 0; function count() { a++; document.getElementById('demo').textContent = a; } document.getElementById('do-count').onclick = count;
Zusätzlicher Hinweis:
Verwendung textContent anstelle von innerHTML beim Ändern von Textinhalten, um potenzielle Sicherheitslücken zu vermeiden.
Das obige ist der detaillierte Inhalt vonWarum funktionieren die Popup-Klickereignisse meiner Chrome-Erweiterung nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!