2016-04-08 6 views
0

Also schrieb ich ein paar Erweiterungen, die meisten Einweg-und one hopefully viable.Ein bisschen verwirrt über die "Agenda" einer Chrome-Erweiterung

Ich bin immer noch ein wenig verwirrt über die "Agenda", "Zeitplan" oder whatchacallit, d. H. Die Reihenfolge, in der Dinge passieren, und die Orte, wo sie leben.

Zum Beispiel: Ich habe ein neues Schreiben, die Folgendes tun soll:

  • ein Browser Aktion zeigt dem Benutzer mit einem Menü von 3 Artikel
  • zwei dieser Elemente Aktionen auslösen sofort ausgeführt werden , während der dritte einen Prozess auflistet, der verdeckt für einen längeren Zeitraum ausgeführt werden soll (nämlich das Abrufen einer bestimmten Webseite in einem Intervall, wobei die Webseite nicht benötigt, um in irgendein sichtbares Tab oder Fenster geladen zu werden).

Natürlich wäre ich versucht zu glauben, dass die langfristige ist, in der background.js zu leben.

Jetzt verstehe ich, dass das Pop-up-Menü ein eigenes HTML-Dokument ist, das sein Leben in seiner eigenen Blase lebt. Es soll verschwinden, unmittelbar nachdem der Benutzer auf einen Gegenstand geklickt hat und damit seinen Kontext mit ins Grab genommen hat. Gerade jetzt bin ich etwas verloren und versuche herauszufinden, wie es einen Hintergrundprozess auslösen kann.

Dennoch verstehe ich nicht ganz, was bringt die background.js zum Leben, noch weniger, wenn es als nicht persistent as is recommended angegeben ist.

Natürlich, ich werde wieder RTFM, aber wenn man Fellows stumm könnte dies auf mein armes Maß an Verständnis, ich so glücklich sein würde ...

Antwort

0

Vielleicht wie Sie gesagt haben, Sie müssten RTFM wieder ..

Background Page läuft im Erweiterungsprozess und existiert für die Lebensdauer Ihrer Erweiterung, bis Ihre Erweiterung entfernt oder der Browserprozess beendet wird.

Während Event Page, was Chrom empfohlen zu verwenden, wird nur geladen, wenn sie benötigt werden. Werfen Sie einen Blick auf Lifetime part, die folgenden sind einige Beispiele, die die Event-Seite zu laden verursachen:

  • Die App oder Erweiterung zum ersten Mal installiert wird oder auf eine neue Version aktualisiert (um register for events).
  • Die Ereignisseite hat auf ein Ereignis gewartet und das Ereignis wird ausgelöst.
  • Ein Inhaltsskript oder eine andere Erweiterung sends a message.
  • Eine andere Ansicht in der Erweiterung (z. B. ein Popup) ruft runtime.getBackgroundPage auf.

Was Ihre Frage: ‚Wie kann es einen Hintergrundprozess auslösen‘, wenn es keine Veranstaltungen fangen oder eine Nachricht zu übergeben, können Sie einfach runtime.getBackgroundPage rufen Sie die Event-Seite zu laden.