2011-03-09 131 views
1

我想在我的Firefox擴展中保存一個簡單的字符串到首選項中。該字符串應該可以在不同的瀏覽器會話之間和重新啓動後訪我發現下面的代碼,但由於某種原因,它不工作。我試圖localStorage的前但這也不能正常工作:在首選項中保存Firefox擴展

代碼保存功能:

var prefs = Components.classes["@mozilla.org/preferences-service;1"] 
       .getService(Components.interfaces.nsIPrefBranch); 

var str = Components.classes["@mozilla.org/supports-string;1"] 
     .createInstance(Components.interfaces.nsISupportsString); 

str.data = window['myglobalvariable']; 

prefs.setComplexValue("myglobvar", 
     Components.interfaces.nsISupportsString, str); 

代碼檢索功能:

var prefs = Components.classes["@mozilla.org/preferences-service;1"] 
       .getService(Components.interfaces.nsIPrefBranch); 

var value = prefs.getComplexValue("myglobvar", 
    Components.interfaces.nsISupportsString).data; 

我想不通爲什麼它不工作。

+0

我不知道在這種狀態我:http://www.somethingofthatilk.com/ index.php?id = 150 – user366121 2011-03-09 09:52:09

+0

您是否檢查過:config以驗證您的pref是否已設置? – Neil 2011-03-12 00:36:18

回答