Ich beende gerade schreiben ein Alpha von einer Chrome-Erweiterung, die Japanisch von Wörterbuch Webseite analysieren und es als Flash-Karten präsentieren. Es ist eine einzelne js, die das DOM weitergibt und alle Arten von Daten parst.brauche Hilfe, um besser zu verstehen Chrome Erweiterung
Im Moment erstellt die Erweiterung ein Div-Element innerhalb der Webseite, um alle Daten zu speichern, und ich möchte es in ein Popup von meiner Erweiterung verschieben.
So füge ich ein Pop-up und klickte auf das Symbol
"browser_action": {
"default_icon": "icon19.png",
"default_title": "Tangorin extention is active",
"popup": "popup.html"
}
Es ist nichts passiert, so dass ich denke, es ist wahrscheinlich, weil ich ihm gesagt, eine bestimmte Seite auf meinem Eventhandler auf Klick zu öffnen, so Ich brauche etwas, das es sagt, um das Popup zu öffnen. Ich gucke nach und finde etwas, das eine Nachricht aufruft, um dich in deiner Nebenstelle zu verbinden.
Also folgte ich google Zunft und tat so etwas in meinem Eventhandler
chrome.browserAction.onClicked.addListener(function(activeTab)
{
var newURL = "http://tangorin.com/examples/";
chrome.tabs.create({ url: newURL });
});
chrome.runtime.onMessageExternal.addListener(
function(request, sender, sendResponse) {
console.log(sender.tab ?
"from a content script:" + sender.tab.url :
"from the extension");
if (request.greeting == "hello")
console.log("message");
});
Auch ich denke Seite eine Nachricht von einem Web genannt sendet, damit ich Berechtigungen und etwas hinzufügen, die es auf meinem Skript nennen .
"externally_connectable": {
"matches": ["*://*.tangorin.com/examples/*"]
}
Und etwas, das es auf meinem Skript nennen wird.
function print_results() {
//bla bla
chrome.runtime.sendMessage({greeting: "hello"});
}
Und es ist nichts passiert, chrome.runtime.sendMessage
nicht die Funktion in dem Eventhandler auslösen.
Bin ich auf dem richtigen Weg? Oder gibt es einen besseren Weg, um das Popup zu öffnen? Ich weiß noch nicht viel über Extension Dev, aber ich habe es bis jetzt geschafft.
Vielen Dank im Voraus, Oder
bearbeitet: vielleicht stattdessen kann ich den Standard-Popup geöffnet, wenn der Benutzer auf einem Objekt, dass wie durch die Content-Skript erstellt worden?
alles in der Developer Tools-Konsole, um ein Problem anzuzeigen? –
Die Chrome-Erweiterung ist das zusätzliche Skript, das beim Laden einer Seite ausgeführt werden soll. Bevor Sie das Skript als Erweiterung ausführen, führen Sie es in der Chrom-Skriptleiste aus, um das Protokoll und Fehler zu sehen. – Vinayk93
@ Vinayk93 das ganze Skript funktioniert außer den Nachrichtenteilen. –