Die Chrome-Erweiterung popup nicht funktioniert, klicken Sie auf Ereignisse, die nicht behandelt werden
Habe ich eine JavaScript-variable und wenn ich auf den Knopf drücken sollte um 1 erhöht, aber es ist nicht passiert.
Hier manifest.json
.
{
"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"
}
}
Hier ist der code für die html-Seite
<!DOCTYPE html>
<html>
<head>
<script>
var a=0;
function count()
{
a++;
document.getElementById("demo").innerHTML=a;
return a;
}
</script>
</head>
<body>
<p id="demo">=a</p>
<button type="button" onclick="count()">Count</button>
</body>
</html>
Möchte ich die Erweiterung, der mir den Wert ein und erhöhen Sie, indem man jedes mal, wenn ich Sie auf die Erweiterung oder die Taste
Ihnen fehlt die öffnung
das auch. (mit meiner Antwort)
fügen Sie es zu Ihrer Antwort, so dass es mehr sichtbar 🙂
immer noch das gleiche Problem, wenn ich auf den extension zeigt es mir an =a und die count-Taste und wenn ich auf den zählen-Knopf, es bleibt die gleiche
Fancy: jsfiddle.net/maniator/ck5Yz/7 ^_^
<script type="text/javascript">
das auch. (mit meiner Antwort)
fügen Sie es zu Ihrer Antwort, so dass es mehr sichtbar 🙂
immer noch das gleiche Problem, wenn ich auf den extension zeigt es mir an =a und die count-Taste und wenn ich auf den zählen-Knopf, es bleibt die gleiche
Fancy: jsfiddle.net/maniator/ck5Yz/7 ^_^
InformationsquelleAutor Sainath | 2013-07-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dein code funktioniert nicht, weil es gegen die Standard -Content Security Policy. Habe ich einen screencast von einer minute zu zeigen, was falsch ist:
Ersten, ich habe gezeigt, wie zum Debuggen das problem. Der rechten Maustaste auf die popup-Schaltfläche, und klicken Sie auf "Inspizieren popup". Danach sehen Sie die folgende Fehlermeldung:
Dieser erklärt, dass Ihr code nicht funktioniert, weil es gegen die Standard-CSP: Inline-JavaScript wird nicht ausgeführt. Um das problem zu lösen, müssen Sie entfernen Sie alle inline-JavaScript aus Ihrem HTML-Datei, und legen Sie es in eine separate JS-Datei.
Das Ergebnis ist unten dargestellt:
hello.html
(popup-Seite)popup.js
Beachten Sie, dass ich ausgetauscht habe
innerHTML
mittextContent
. Lernen SietextContent
stattinnerHTML
wenn Sie beabsichtigen, den text zu ändern. In diesem einfachen Beispiel ist es egal, aber bei komplexeren Anwendungen, könnte es ein Sicherheitsproblem in form von XSS.Es ist erstellt mit byzanz, den ich geschrieben habe-shell-Skripte zur Erleichterung der Nutzung: askubuntu.com/a/201018/45058
Wenn das popup geschlossen ist, wird die Seite entladen. Wenn Sie wollen Status zu speichern, speichern Sie die Daten irgendwo, z.B. in
chrome.storage
oder im hintergrund der Seite.Könnten Sie teilen Ihren code?
Loszuwerden, die
<form>
. Nun, wenn Sie die Taste drücken, wird ein Formular vorgelegt, wodurch die Seite neu zu laden. Oder fügen Siedocument.forms[0].onsubmit = function(e){e.preventDefault();};
InformationsquelleAutor Rob W
Ändern Sie Ihre
onclick
:Oder ändern Sie Ihre count-Funktion, so etwas wie dieses:
Hier ein nettes demo, das ich zusammengestellt habe:
Code (dies setzt Voraus, dass Sie hinzufügen
id="the_button"
auf die Schaltfläche):Demo: http://jsfiddle.net/maniator/ck5Yz/
siehe mein update.
mit Inkrement-und Dekrement-Funktionen: jsfiddle.net/maniator/ck5Yz/7
immer noch mein chrome-Erweiterung ist nur zu zeigen, zählen jetzt und egal wie viel ich auf, es hat noch immer nur einen Wert
kannst du eine demo bitte...
InformationsquelleAutor Neal