Полезная информация

Общайтесь со знакомыми и друзьями в нашей группе в Контакте.

№124-04-2008 23:30:52

llirik
Участник
 
Группа: Members
Зарегистрирован: 05-06-2006
Сообщений: 19
UA: IE 7.0

Чем сохранить адрес иконки (setIntPref не работает)?

В окне настроек по вкл/выкл чекбоксу меняется иконка.
Сохраняю:

Выделить код

Код:

function lwf_option_save(){
var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch('extentionname');
prefs.setIntPref("extentionname.lfw__Channels__Selector_", document.getElementById("lfwChannelsSelector").image);}

Загружаю:

Выделить код

Код:

function lwf_option_load(){
var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch('extentionname');
document.getElementById("lfwChannelsSelector").image = prefs.getIntPref("extentionname.lfw__Channels__Selector_");}

... и иконка пропадает. Подозреваю, что тут нужен не setIntPref. А вот что?
Спасибо.

Отсутствует

 

№225-04-2008 00:01:24

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 2.0

Re: Чем сохранить адрес иконки (setIntPref не работает)?

setCharPref / getCharPref
Но если присутствуют не только ASCII-символы, смотрите, как сделано в chrome://global/content/nsUserSettings.js (nsPreferences.setUnicharPref nsPreferences.copyUnicharPref).

Добавлено Fri Apr 25 00:04:57 2008 :
А вообще, это через CSS обычно делается...

Выделить код

Код:

#id { list-style-image: url("..."); }
#id[checked="true"] { list-style-image: url("..."); }

Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№325-04-2008 00:13:44

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Firefox 3.0

Re: Чем сохранить адрес иконки (setIntPref не работает)?

адрес, как я понимаю, должен быть текстовым, а не числовым. соотвественно, нужно использовать setCharPref.

Отсутствует

 

№425-04-2008 18:42:01

llirik
Участник
 
Группа: Members
Зарегистрирован: 05-06-2006
Сообщений: 19
UA: IE 7.0

Re: Чем сохранить адрес иконки (setIntPref не работает)?

setCharPref пробовал, но тоже не спасало. Но проверю ещё раз, спасибо.

upd. Неа, не работает.
Выкрутился через проверку в онлоаде состояния чекбокса

Выделить код

Код:

function lwf_option_load(){
if(document.getElementById("lfwRSSenableToggle").checked) 
  {
  document.getElementById("lfwChannelsSelector").setAttribute("image", "chrome://extentionname/content/pics/lfw_RSS.png");
  }
else 
  {
  document.getElementById("lfwChannelsSelector").setAttribute("image", "chrome://extentionname/content/pics/lfw_RSS-disable.png");
  }
}

, но вопрос пока открыт. CSS у меня нет и ради этого его заводить неохота))

Отредактировано llirik (25-04-2008 19:37:41)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]