我的 Firefox 插件中有以下代码:
var firstrun = Services.prefs.getBoolPref("extensions.CustomButton.firstrun");
if (firstrun) {
// alert("first run");
Services.prefs.setBoolPref("extensions.CustomButton.firstrun", false);
installButton("nav-bar", "custom-button-1");
} else {
// alert("not first run");
}
在 addon_dir/defaults/preferences/pref.js 中,我有以下字符串:
pref("extensions.CustomButton.firstrun", true);
当插件第一次运行时,上面的代码理解它并在工具栏上安装一个按钮。此外,它将以下字符串添加到 profile_dir/prefs.js:
user_pref("extensions.CustomButton.firstrun", false);
它工作正常。唯一麻烦的是,当我卸载插件时,profile_dir/prefs.js 中的这个字符串没有被清除。因此,如果我第二次安装此插件,则 firstrun 值为 false,并且按钮不会添加到工具栏。
问题:卸载插件时是否可以删除插件首选项(在我的情况下,user_pref("extensions.CustomButton.firstrun", false);)?
注意:我已经阅读了这篇文章,但仍然不知道要等待什么事件。任何工作示例?我相信这是插件创建者的常见操作,我很惊讶没有文章详细解释这些问题。