Chrome-Erweiterung: Aktuellen Tab aus dem Popup abrufen

Schreibe ich eine Chrome-Erweiterung und in einem Teil davon, die ich brauche, um die aktuelle Registerkarte Titel und URL, wenn Sie eine Taste auf der popup-Seite geklickt wird.

Ich habe mit Chrome message-passing-Systems vor und nach langen Bemühungen geschafft, dass es funktioniert, bei vielen Gelegenheiten. Allerdings habe ich noch nie gehabt, Sie zu benutzen und mit popup-Seiten und, von dem, was ich gelesen habe, ist es viel schwieriger zu machen.

Der timeline habe ich es geschafft, herauszufinden, so weit ist diese:

  1. popup.html /popup.js:    Schaltfläche geklickt wird
  2. popup.html /popup.js:    Anfrage /Nachricht wird gesendet, um den Inhalt Skript
  3. contentScript.js:           Anfrage /Nachricht empfangen wird, aus dem popup-Seite
  4. contentScript.js:           Der Titel und die URL der aktuellen Registerkarte werden in einer Variablen gespeichert
  5. contentScript.js:           Die 2 Variablen, die gesendet werden, als stringified Antwort
  6. popup.html /popup.js:    Die 2 Variablen, die analysiert werden, von der Antwort, die

Normalerweise würde ich in der Lage sein, dies herauszufinden, aber ich habe ein paar Dinge, die geworfen einen Schraubenschlüssel in den Werken, wie:

  • chrome.tabs.getSelected kann nur verwendet werden, in einem hintergrund-Seite /Skript. Bedeutet das, dass Inhalte, die Skripte nicht brauchen, um überhaupt verwendet werden?
  • - Nachrichten können nicht gesendet werden, direkt aus dem content-Skript, um die popup-Seite, haben Sie zu gehen über einem hintergrund Seite
  • Ein popup-Fenster bestätigt werden, wie die bestehenden, bevor eine Nachricht übergeben werden kann, um es (obwohl, ich glaube, ich weiß, wie dies zu tun)

Habe ich schon gefunden Chrome message-passing-system schwierig genug, aber, das hat vollkommen verwirrt mich. Daher dieser post.

InformationsquelleAutor der Frage mythofechelon | 2012-11-13

Schreibe einen Kommentar