2012-04-03 81 views
0

我已经阅读了大部分与我可以找到的偏好有关的所有文档和问题,但是我总是会出现一个错误,无论我尝试什么方法,我都不明白。阅读/写作偏好

js文件的浏览器覆盖XUL加载

var prefs = Components.classes["@mozilla.org/preferences-service;1"]. 
       getService(Components.interfaces.nsIPrefService). 
       getBranch("extensions.{my-guid-id}."); 

var value = prefs.getBoolPref("firstrun"); 

默认设置/首选项/ prefs.js文件:

pref("extensions.{my-guid-id}.firstrun", true); 

在错误控制台中的错误消息指出uncaught exception: "compenent returned failure code 0x8000ffff" on line 27这是正确的在getBoolPref()电话。

回答

1

您的代码看起来正确。

你确定你没有把这个单词放在引号中或者意外地将它设置为非布尔首选项吗?

我会建议进入about:config并验证您的首选首选项显示为布尔值。

这是您看到的问题最常见的原因。

+0

你说得对,首选项不会显示在about:config中。我的默认/偏好目录在我的chrome文件夹中,这是我的主要内容文件夹。如何更新清单文件以指向首选项目录?感谢您的帮助,事实上迈克我只是回复了您的博客文章,因此您可以忽略它。 – thefoyer 2012-04-03 16:32:19

+1

我以为你在评论我的博客文章。 默认值/首选项目录位于附加组件的最顶层。你不能通过清单指向它。只要你把它放在那里,它会很好。 – 2012-04-04 02:42:33