6

Ich habe eine Erweiterung mit einer Hintergrundseite. Dadurch wird Chrome standardmäßig deaktiviert, nachdem Sie alle Fenster geschlossen haben, und das Chrome-Symbol wird in der Taskleiste angezeigt. Ich möchte dies vermeiden - ich möchte nicht, dass meine Erweiterung den Chrome-Prozess nach dem Schließen aller Chrome-Fenster fortsetzt, noch möchte ich, dass Chrome im Systray angezeigt wird.Chrome-Erweiterung: Schließen Sie die Hintergrundseite nach dem Schließen. Chrome

Nach der only docs I could find zeigt dies an, dass der Benutzer diese Option global über alle Erweiterungen festlegen kann, aber das ist nicht, was ich versuche zu tun. Ich möchte, dass die Erweiterung unaufdringlich/unaufdringlich ist und das Browserverhalten des Benutzers nicht ändern möchte. Weiß jemand, wie man das erreicht, während man die Fähigkeit behält, eine Hintergrundseite zu haben?

+1

Dies ist vergleichbar mit http://stackoverflow.com/questions/10151732/how-can-a-google-chrome-extension-exit-its-own-background-process, aber anstatt die Hintergrundseite rechts zu schließen weg, ich möchte es schließen, wenn alle Tabs geschlossen wurden, und ich möchte auch nicht das Systray-Symbol – Mala

+0

Sie könnten Ereignisseiten anstelle der Hintergrundseite verwenden. Dies ist die neue bevorzugte Methode, da der Code nicht ständig ausgeführt werden muss, sondern nur dann, wenn er benötigt wird. https://developer.chrome.com/dev/extensions/event_pages.html –

+0

Event-Seiten sehen super aus! Ich kann nicht darauf warten, dass sie offiziell veröffentlicht werden. –

Antwort

3

UPDATE

Mit Manifest Version 2 können Sie jetzt event pages that are not persistent laufen. Ereignisseiten sind Hintergrundseiten sehr ähnlich, werden jedoch nur geladen, wenn sie von der Erweiterung benötigt werden.

Beispiel aus dem Ereignis Seiten doc auf eine nicht persistente Ereignisskript in Ihrem Manifest Einstellung:

{ 
    "name": "My extension", 
    ... 
    "background": { 
    "scripts": ["eventPage.js"], 
    "persistent": false 
    }, 
    ... 
} 

Hier ist ein Tutorial auf m igrating your Chrome extension to manifest version 2.


ALTE ANTWORT

Derzeit, wenn Ihre Erweiterung einen Hintergrund in der manifest.json-Datei definiert hat, wird es laufen, bevor Chrome gestartet werden und auch nach allen Fenstern von Chrome geschlossen sind. Das ist, es sei denn, der Benutzer ändert seine Einstellungen wie Sie erwähnt haben. Möglicherweise gibt es zukünftige Versionen von Google Chrome, die unterschiedliche Funktionen zulassen, aber Sie, der Entwickler, können dieses Problem derzeit nicht beheben.

Ein Auszug aus dem background manifest docs

macht Chrome früh starten und und schließen spät nach unten, so dass Anwendungen und Erweiterungen können eine längere Lebensdauer haben.

Wenn eine installierte gehostete App, eine gepackte App oder eine Erweiterung die Berechtigung "Hintergrund" hat, wird Chrome (unsichtbar) ausgeführt, sobald sich der Benutzer bei seinem Computer anmeldet, bevor der Benutzer Chrome startet. Mit der Berechtigung "Hintergrund" wird Chrome auch nach dem Schließen des letzten Fensters weiterhin ausgeführt, bis der Nutzer Chrome explizit beendet.

Verwandte Themen