сохранение расширения Firefox в настройках - PullRequest
1 голос
/ 09 марта 2011

Я хочу сохранить простую строку в настройках в моем расширении Firefox.Строка должна быть доступна между отдельными сеансами браузера и после перезагрузки.Я нашел следующий код, но по какой-то причине он не работает.Я пробовал localStorage раньше, но это также не работало:

Код для функции сохранения:

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;

Не могу понять, почемуэто не работает.

1 Ответ

2 голосов
/ 09 марта 2013

если ваше предпочтение - целочисленное или логическое значение getCharPref не будет работать, вы должны будете использовать

getBoolPref() or getIntPref()

http://blog.mozilla.org/addons/2009/01/28/how-to-develop-a-firefox-extension/

...