2010-12-05 1 views
2

Думал, что я попытаюсь построить и расширять для firefox, поэтому я использовал Add-on Builder для создания базового расширения в MDC. Когда я нажимаю расширение в меню «Инструменты», вы можете вызвать всплывающее приветствие, но это не так.Используется Firefox Add-on Builder и расширение не работает

Я думаю, что его функция onLoad не может получить данные из никольных строк. Но если его сгенерированный код с веб-сайта MDC, почему он имеет ошибки или это я?

var nigol = { 
    onLoad: function() { 
    // initialization code 
    this.initialized = true; 
    this.strings = document.getElementById("nigol-strings"); 
    }, 

    onMenuItemCommand: function(e) { 
    var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] 
            .getService(Components.interfaces.nsIPromptService); 
    promptService.alert(window, this.strings.getString("helloMessageTitle"), 
           this.strings.getString("helloMessage")); 
    } 
}; 

window.addEventListener("load", nigol.onLoad, false); 

Как я уже сказал, я скачал с создателя аддона и не внес никаких изменений.

Благодаря

ответ

0

Путь вы звоните onLoad, значение this в этой функции не то, что вы думаете. Попробуйте это вместо:

window.addEventListener("load", function() { nigol.onLoad(); }, false); 
+0

Спасибо за повтор MatrixFrog, но это не произведённых результатов. Я получаю то, что вы говорите об this.strings только в функции onLoad. Итак, как я могу это сделать, чтобы все функции могли вызвать его? Спасибо – nightfox 2010-12-06 00:27:00

Смежные вопросы