2010-11-30 10 views
5

Ich erstelle eine Firefox-Erweiterung, für die der Benutzer sich anmelden muss. Jedes Mal, wenn ein neues Fenster, aber keine neue Registerkarte geöffnet wird, wird der "Code" für die Erweiterung ausgeführt. Ich würde es vorziehen, dass der Code nur einmal pro Sitzung ausgeführt wird.Lassen Sie den Firefox-Erweiterungscode nur einmal pro Sitzung laufen.

Das Setup der Erweiterung sieht so aus. (Lassen Sie mich wissen, wenn ich etwas fehle):

in Chrom manifestieren: overlay chrome://browser/content/browser.xul chrome://my/overlay.xul

in overlay.xul:
<overlay id="socialSidebarOverlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://my/code.js" />
</overlay>

in code.js:
alert('being called')

T Das Problem ist, dass "angerufen werden" nur angezeigt werden soll, wenn Firefox startet, nicht wenn neue Tabs oder Fenster geöffnet werden. Was wäre ein Weg, dies zu erreichen?

Antwort

3

Sie ein JavaScript code module sicher nur Ihr Code vornehmen kann einmal ausgeführt.

+0

Vielen Dank !!!! Genau das habe ich gesucht. Das JSM-Modul wird nur einmal geladen, auch wenn Tabs und neue Fenster geöffnet sind :) – Alexis

1

Sie möchten vielleicht beobachten (und wirken auf) eine der möglichen Mozilla Observer Notifications

Entweder handelt tatsächlich auf etwas beim Anfahren oder bei Ihnen Verlängerung Prüfung für einen bestimmten Wert, der zurückgesetzt wird, wenn der Browser [dies schließt kann schwierig sein, da abnormale Abschaltvorgänge möglicherweise nicht zurückgesetzt werden].

Siehe auch: Receiving Startup Notifications

Verwandte Themen