Firefox扩展在安装时打开页面

Firefox扩展在安装时打开页面,firefox,firefox-addon,toolbar,Firefox,Firefox Addon,Toolbar,我注意到一些Firefox扩展在安装后会在重新启动浏览器后打开一个页面,例如 这对于显示更新注释和向用户提供一些教程类型信息非常有用 用户在安装后第一次重新启动浏览器时,如何在Firefox附加组件中打开新页面?我没有直接使用Firefox扩展,但我可以想象在持久内存中存储一个标志(布尔值)(不管您如何存储用户首选项)。安装后第一次启动浏览器时,将不会设置该标志,因此您将显示“帮助”页面并设置该标志。下次firefox重新启动时,该标志将已设置,因此您不会打开帮助页面 如果希望每次更新扩展时都显

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

这对于显示更新注释和向用户提供一些教程类型信息非常有用


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

我没有直接使用Firefox扩展,但我可以想象在持久内存中存储一个标志(布尔值)(不管您如何存储用户首选项)。安装后第一次启动浏览器时,将不会设置该标志,因此您将显示“帮助”页面并设置该标志。下次firefox重新启动时,该标志将已设置,因此您不会打开帮助页面


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

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

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

编辑。。使用版本检查==代替!=应该是这样的

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