Firefox 扩展在安装时打开页面
Posted
技术标签:
【中文标题】Firefox 扩展在安装时打开页面【英文标题】:Firefox extension opening a page on install 【发布时间】:2010-10-31 19:52:42 【问题描述】:我注意到一些 Firefox 扩展在安装后会在您重新启动浏览器后打开一个页面,例如 StumbleUpon toolbar。
这对于显示更新说明并为用户提供一些教程类型信息很有用。
当用户在安装后第一次重启浏览器时,如何在 Firefox 插件中打开一个新页面?
【问题讨论】:
【参考方案1】:虽然可能有更好的方法,但我不知道...... 您可以使用首选项系统来跟踪它是否是第一次运行/更新
检查首选项是否存在,如果不存在,请打开页面,使用当前扩展版本号创建首选项。 如果首选项存在,请对照当前扩展版本号检查它,如果它们不同,则假定它是更新并打开页面。 (假设您希望页面在每次更新时都打开)
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)
EDIT.. 版本检查使用 == 而不是 != 应该有的
【讨论】:
【参考方案2】:我没有直接使用 firefox 扩展,但我想像在持久内存中存储标志(布尔值)的方式(但是您存储用户首选项)。安装后第一次启动浏览器时,不会设置标志,因此您会显示帮助页面并设置标志。下次firefox重启时,flag已经设置好了,所以不要打开帮助页面。
如果您希望它在每次更新扩展程序时显示一个页面,则存储版本而不是布尔值,并在每次启动时检查当前版本是否大于存储的版本。
【讨论】:
以上是关于Firefox 扩展在安装时打开页面的主要内容,如果未能解决你的问题,请参考以下文章