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

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

№101-12-2011 22:35:30

Galen
Участник
 
Группа: Members
Зарегистрирован: 01-12-2011
Сообщений: 1
UA: Firefox 8.0

Вопрос по работе с preferences

Доброго времени суток.

Пишу небольшое расширение, вроде всё более-менее ясно и даже работает. Но. Вот часть JS-кода:

Выделить код

Код:

var gTimer = {
    preferences: null,
    autorun: null,
    timer: null,
    min: 0,
    hour: 0,
    interval: 1,
    nullLabel: true,
    init: function() {
        this.hour = 0;
        this.min = 0;
        this.preferences = Components.classes["@mozilla.org/preferences-service;1"]
            .getService(Components.interfaces.nsIPrefService)
            .getBranch("extensions.gtimer.");
        this.preferences.QueryInterface(Components.interfaces.nsIPrefBranch2);
        this.preferences.addObserver("", gTimer, false);
        // почему здесь gTimer ?
        gTimer.interval = this.preferences.getIntPref("interval");
        this.autorun = this.preferences.getBoolPref("autorun");
        if(this.autorun) setTimeout("gTimer.start()", 100);
    },
    observe: function(subject, topic, data) {
        if(topic != "nsPref:changed") return;
        switch(data) {
            case "interval": {
                this.interval = subject.getIntPref("interval");            
                break;
            }
            case "autorun": {
                this.autorun = subject.getBoolPref("autorun");            
                break;
            }
        }
    },
// дальше остальной код

Собственно вопрос в единственном комментарии, а относится он к строчке под этим самым комментарием. Почему в этой строке нужно писать именно так, а не через this, как во всём остальном скрипте. Причём, если написать через this, то значение свойства правильно сохраняется в переменной interval (проверял через alert), но при обращение позже к этой переменной в другой функции её значение равно 1 (т.е. заданному по умолчанию).

Отсутствует

 

№221-01-2012 18:25:49

tenshi
Участник
 
Группа: Members
Зарегистрирован: 30-03-2008
Сообщений: 47
UA: Chrome 16.0

Re: Вопрос по работе с preferences

ну покажи эту другую функцию

Отсутствует

 

Board footer

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