Chrome-Erweiterung: Packen DOM-Inhalte für die Analyse
Entwickle ich eine Chrome-Erweiterung für meinen Chef, der scannt einfach den DOM für Phrasen.
Die einzige Sache, die ich Hilfe brauchen, ist greifen die DOM-Inhalte mit popup, ich kann nicht finden, einen Weg, um wieder die Inhalte der aktuellen Registerkarte.
InformationsquelleAutor Korvin Szanto | 2011-10-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Getestet und funktioniert korrekt:
setzen
in Ihrem manifest.
Dann in Ihrer background.js
So im wesentlichen, wir Holen Sie sich die aktuellen Registerkarte, führen Sie einen javascript, der es bekommt die innerHTML-und übergibt es an uns zurück. Wir interpretieren die Antwort in einem callback als angemessen.
Hinweis: dieses hat sehr wenig Fehler zu überprüfen, so möchten Sie vielleicht, um Pinsel auf message passing und die die tabs-API.
Edit: habe ich ausprobiert und es funktioniert wie erwartet. Versuchen Sie es selbst, einfach, erstellen Sie einfach eine neue leere extension, und geben Sie den "Reiter" Berechtigung " und ein hintergrund-Seite. Dann gehen Sie überprüfen background.html von: chrome://extensions und gehen auf die Konsole. Kopieren Sie den code unten Einstellung der
chrome.tabs.getSelected
nisten auf einen timeout von ein paar Sekunden. Wenn Sie klicken Sie auf geben Sie zum ausführen der JS, klicken Sie schnell auf einigen anderen tab. Warten Sie, bis Sie Ihr Zeitlimit. Dann gehen Sie zurück zu Inspektion background.html. Der HTML-Code der Seite auf die Sie geklickt haben, wird auf der Konsole ausgegeben.Noch ein Edit: Im Allgemeinen ist der Zugriff auf die aktuelle Registerkarte DOM, als ein Ereignis, wie es scheint, könnte eine schlechte Modell (das ist wahrscheinlich, warum es ist nicht eine große native Weg, es zu tun). Haben Sie darüber nachgedacht, entweder mit chrome.tabs.onUpdated oder content-scripts universell etwas tun, zum einlegen/wechseln der DOM?
Die Kommunikation behandelt; fügen Sie zuerst einen listener auf Ereignisse. Dann der zweite Teil wird die ausgewählte Registerkarte, injiziert ein Skript, dass die Anrufe wieder auf Ihrer Seite. Die onRequest Hörer interpretiert es (unter der
LOG THE CONTENTS HERE
).Die js platziert werden können, in popup.html wie gut 🙂
Sie haben
tab = tab.id
und danntab.id
wieder – ist es richtig?Huch, guten Fang @Nakilon
InformationsquelleAutor Alex Churchill