3

我注意到一些 Firefox 扩展在安装后会在您重新启动浏览器后打开一个页面,例如StumbleUpon 工具栏

这对于显示更新说明并为用户提供一些教程类型信息很有用。

安装后用户第一次重新启动浏览器时,如何在 Firefox 插件中打开新页面?

4

2 回答 2

5

虽然可能有更好的方法,但我不知道......您可以使用首选项系统来跟踪它是否是第一次运行/更新

检查首选项是否存在,如果不存在,请打开页面,使用当前扩展版本号创建首选项。如果首选项存在,请根据当前扩展版本号检查它,如果它们不同,则假定它是更新并打开页面。(假设您希望页面在每次更新时都打开)

var prefs = Components.classes["@mozilla.org/preferences-service;1"]
            .getService(Components.interfaces.nsIPrefService);
prefs.QueryInterface(Components.interfaces.nsIPrefBranch2);

if ((prefs.getPrefType("extensions.yourextensionhere.yourprerference") == PREF_INVALID)
    || (prefs.getCharPref("extensions.yourextensionhere.yourprerference") != this.version)) {
    //open page and...
    prefs.setCharPref("extensions.yourextensionhere.yourprerference",this.version)
 }

编辑.. 版本检查使用 == 而不是 != 应该有

于 2009-06-06T03:48:13.257 回答
0

我没有直接使用 firefox 扩展,但我想像在持久内存中存储标志(布尔值)的方式(但是你存储用户首选项)。安装后第一次启动浏览器时,不会设置标志,因此您会显示帮助页面并设置标志。下次firefox重启时,flag已经被设置了,所以你不要打开帮助页面。

如果您希望它在每次更新扩展时显示一个页面,则存储版本而不是布尔值,并在每次启动时检查当前版本是否大于存储的版本。

于 2009-06-06T03:46:22.977 回答