2012-04-03 85 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