Я недавно занимался разработкой расширений Firefox и столкнулся с некоторыми проблемами:
Итак, в browser.xul я определил эти строки:
<overlay id="sample" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script src="jquery.js" />
<script src="global.js" />
</overlay>
Итак, в global.js у меня есть доступ ко всем вещам jQuery, и я пытаюсь загрузить там простой скрипт:
var inner = null;
var o = function () {
var prefManager = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
return {
init : function () {
alert('here loading inner..');
$.get('http://www.example.com/script.js', function(d) {
alert('loaded inner script!');
inner = d;
gBrowser.addEventListener("load", function () {
alert('onload');
}, false);
}).error(function(e) { alert('error loading inner..'); setTimeout(o.init,1000); });
$(this).ajaxError(function() { alert('ajaxError'); });
}
}
}
window.addEventListener("load", o.init, false);
Но я не получаю ни «загруженный внутренний скрипт», ни предупреждение «ошибка загрузки внутреннего». И я не вижу консоль ошибок, чтобы регистрировать ошибки из расширения ... Я предполагаю, что $.get
молчаливая ошибка из-за некоторых ограничений, может быть, но есть ли правильный способ отладки ошибок нормально? Консоль ошибок молчит для расширения, она показывает только ошибки с веб-страниц