Wie bekommt man die id von einem Chrome tab?
chrome.tabs.get
offenbar nicht in das content-Skript, und andere als das senden es über chrome.extension.sendRequest
ich habe keine Ahnung, wie, um den hintergrund reagieren Sie auf die richtige Registerkarte.
Wie kann ich das content-Skript senden von Informationen an den hintergrund der Seite, dann sind die hintergrund-Seite zurückzukehren Informationen zurück zu dem tab, wo kam es aus?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nun lasst mich Euch erklären, dude 😉
Zunächst das senden einer Nachricht von Ihrem Inhalt-Skript wie dieses :
Inhalt Skript Senden der Nachricht
Hintergrund Seite - die Meldung und Reaktion
ContentScript - Fügen Sie einen listener hinzu
onMessage
bietet einesendResponse
- Funktion, die verwendet werden können zum senden einer Antwort direkt an den Absender zurück.background.js
Auszug:content_scripts.js
Auszug:Als Hilfestellung für Personen, welche diese Frage post-2011 habe ich eine Antwort, die verwendet den neueren Konventionen und APIs. Dies ist eine ziemlich beliebte Frage und die akzeptierte Antwort ist etwas veraltet, an dieser Stelle (aber immer noch eine genaue Antwort, trotzdem), also für alle Neulinge dies sollte hoffentlich ein klareres und mehr zutreffende Antwort auf die Frage.
Für den Anfang können Sie eine Nachricht senden, aus dem Inhalt Skript mit chrome.- Laufzeit.sendMessage. Dies wird unterschiedslos die Nachricht zu senden, wenn eine runtime-Ereignis Eintritt (d.h. die browser-Aktion geklickt wird). Es wird in etwa so Aussehen:
content.js
Da müssen Sie die Kommunikation mit einem event-Seite (in übereinstimmung mit neueren Konventionen, auf der event-Seite ist die bevorzugte Wahl über das persistent hintergrund-Seite) zu greifen, Informationen über die aktive Registerkarte (vorausgesetzt, Sie wollen einfach nur die tab-id), können Sie tatsächlich greifen, dass die Informationen durch das hinzufügen einer runtime Ereignis-listener und eine überprüfung der
sender
parameter. Es wird in etwa so Aussehen:event.js
Jedoch, da müssen wir liefern diese Informationen zurück zum Inhalt Skript, wir müssen zurück zu gehen und fügen Sie eine callback-handler zu chrome.- Laufzeit.sendMessage. Es wird jetzt wie folgt Aussehen:
content.js
Diesem setup können Sie nun weitergeben einfache, one-time-Nachrichten von
content.js
zuevent.js
, woevent.js
bietet Informationen zurückcontent.js
.Wieder, dies ist nur eine aktualisierte version der akzeptierten Antwort für diejenigen, die gerne ein Beispiel, wie der neue Ansatz funktioniert.
≪Erhalten tab id≫ vollständiges Beispiel ▼
(Wahrheit: deutlichste vollständigen Definitionen: Beispiele mit.)
≪manifest
.json
≫:≪bg
.js
≫:≪Inhalt
.js
≫:Reload-Erweiterung, gehen Sie eine Registerkarte, die Seite aktualisieren, warten, überprüfen ≪Inhalt
.js
≫ oks, warten, überprüfen Sie die cb-oks, warten, überprüfen ≪Konsole.log≫ oks, z.B.:Überprüfen ▼
Vollständigen patch–:
≪bg
.js
≫:≪Inhalt
.js
≫: