如何检查偏好是否存在?
我需要在Firefox配置中创建一个新的首选项,但我不知道它是否已经存在。
var firstRun = prefs.getBoolPref('extensions.addon.firstRun');
错误:NS_ERROR_UNEXPECTED:组件返回失败代码:0x8000ffff(NS_ERROR_UNEXPECTED)[nsIPrefBranch.getBoolPref]
答案 0 :(得分:2)
正如@ try-catch-finally,MDN already has some code snippets所述。
但我个人会使用@ try-catch-finally的用户名:p,例如
var somePref = false;
try {
firstRun = prefs.getBoolPref('extensions.addon.somePref');
}
catch (ex) {
prefs.setBoolPref('extensions.addon.somePref', somePref = true);
}
嗯,如果你added some default preferences(more)加入你的扩展名,甚至更好!特别是“第一次运行”偏好几乎是预定的。
在defaults/preferences/somefilename.js
添加例如
pref("extensions.addon.firstRun", true);
请务必仔细阅读Preferences文章。特别是偏好观察者通常非常有用。 ;)