检查Firefox扩展是否存在首选项

时间:2014-06-18 17:36:43

标签: javascript firefox firefox-addon

如何检查偏好是否存在?

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

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

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

1 个答案:

答案 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 preferencesmore)加入你的扩展名,甚至更好!特别是“第一次运行”偏好几乎是预定的。

defaults/preferences/somefilename.js添加例如

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

请务必仔细阅读Preferences文章。特别是偏好观察者通常非常有用。 ;)