每个会话只运行一次Firefox扩展代码

时间:2010-11-30 13:49:49

标签: javascript firefox-addon

我正在创建一个需要用户登录的Firefox扩展程序。每次打开新窗口但不打开新选项卡时,都会运行扩展的“代码”。我希望代码每个会话只运行一次。

扩展程序的设置如下所示。 (如果我遗漏了任何东西,请告诉我):

Chrome清单中的

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')

问题是“被叫”只应在Firefox启动时显示,而不是在打开新选项卡或窗口时显示。什么是实现这个目标的方法?

2 个答案:

答案 0 :(得分:3)

您可以使用JavaScript code module来确保您的代码只执行一次。

答案 1 :(得分:1)

您可能希望观察(并采取行动)可能的Mozilla Observer Notifications

之一

要么在启动时实际操作,要么在扩展中检查浏览器关闭时重置的特定值[这可能很棘手,因为异常关闭可能无法重置]。

另请参阅:Receiving Startup Notifications

相关问题