2010-11-30 5 views
5

Я создаю расширение Firefox, которое требует, чтобы пользователь заходил в систему. Каждый раз, когда открывается новое окно, но не новая вкладка, запускается «код» для расширения. Я бы предпочел, чтобы код запускался только один раз за сеанс.Только код расширения Firefox работает один раз за сеанс

Настройка расширения выглядит следующим образом. (Дайте мне знать, если я что-нибудь не хватает):

в хромированной манифеста: overlay chrome://browser/content/browser.xul chrome://my/overlay.xul

в 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>

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

T проблема заключается в том, что «вызов» должен отображаться только при запуске Firefox, а не при открытии новых вкладок или окон. Что было бы для этого?

ответ

3

Вы можете использовать JavaScript code module, чтобы убедиться, что ваш код выполняется только один раз.

+0

Спасибо !!!! Это именно то, что я искал. Модуль JSM загружается один раз даже после вкладок и открываются новые окна :) – Alexis 2010-12-01 21:09:47

1

Вы можете наблюдать (и действовать в) один из возможных Mozilla Observer Notifications

Либо на самом деле действуют на что-то при запуске, или в вас проверке расширения для определенного значения, которое сбрасывается при закрытии браузера [это может быть сложным, так как ненормальные отключения не могут быть сброшены].

Смотрите также: Receiving Startup Notifications

Смежные вопросы