如何检查偏好是否存在?

我需要在Firefox配置中创建一个新的首选项,但是我不知道它是否已经存在。

var firstRun = prefs.getBoolPref('extensions.addon.firstRun');



  错误:NS_ERROR_UNEXPECTED:组件返回了失败代码:0x8000ffff(NS_ERROR_UNEXPECTED)[nsIPrefBranch.getBoolPref]

最佳答案

如@ 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 preferencesmore),那就更好了!为此,尤其是“首次运行”首选项几乎是预定的。

defaults/preferences/somefilename.js中添加例如

pref("extensions.addon.firstRun", true);


确保通读Preferences文章。特别地,观察者经常是非常有用的。 ;)

09-19 09:59