Firefox扩展打开安装页面 [英] Firefox extension opening a page on install
问题描述
我注意到一些Firefox扩展在安装后会在您重新启动浏览器后打开一个页面,例如 StumbleUpon工具栏。
这对于显示更新注释并给用户一些教程类型信息很有用。
$ b
$ b
尽管可能有更好的方法,但我不知道它...
您可以使用首选项系统来跟踪它是否是第一次运行/更新
检查首选项是否存在,如果不存在,打开页面,用当前的扩展版本号创建首选项。
如果首选项存在,请根据当前的扩展版本号进行检查,如果不同,请将其作为更新并打开页面。 (假设你想在每次更新时打开页面)
$ b $ pre $ var prefs = Components.classes [@ mozilla.org / preferences-service; 1]
.getService(Components.interfaces.nsIPrefService);
prefs.QueryInterface(Components.interfaces.nsIPrefBranch2); $($ prefs.getCharPref(extensions.yourextensionhere.yourprerference)!= this)。版本)){
//打开页面和...
prefs.setCharPref(extensions.yourextensionhere.yourprerference,this.version)
}
$ c $编辑..版本检查使用==而不是!=因为它应该有
$ b
I noticed some Firefox extensions when installed will open up a page once you restart the browser, for example the StumbleUpon toolbar.
This is useful to show update notes and give the user some tutorial type information.
How do you go about opening a new page in a Firefox add-on the first time the user restarts the browser after install?
Though there might be a better way, I'm not aware of it... You can use the preferences system to track whether it's a first run/update
Check if the preference exists, if not, open the page, create the pref with current extension version number. If the preference exists, check it against the current extension version number, if they are different, assume it's an update and open the page. (assuming you want the page opened every time it's updated as well)
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.. version check used == instead of != as it should have
这篇关于Firefox扩展打开安装页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!