Comment déboguer extension Firefox

J'ai été dans l'extension Firefox développement récemment, et a rencontré quelques problèmes:

Donc, dans le navigateur.xul j'ai défini ces lignes:

<overlay id="sample" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
    <script src="jquery.js" />
    <script src="global.js" />
</overlay>

Donc, dans global.js j'ai accès à tous jQuery trucs, et en essayant de charger un script simple:

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);

Mais ni je reçois un "chargé script interne", ni une "erreur de chargement intérieure" alerte.. Et je ne vois pas l'erreur de la console de log des erreurs à partir de l'extension... je suppose que le $.get silencieusement échec dû à des restrictions, peut-être, mais est-il une bonne façon de déboguer les erreurs normalement? La console d'erreur est le silence de l'extension, il ne montre que les erreurs sur les pages web

Alex, j'espère vraiment que vous n'êtes pas en train d'évaluer les résultats de cette XHR obtenir script, droit?
oui, mais surtout parce que l'addon est fait pour être "autoupdatable" - je sais que c'est mauvais, je n'ai jamais ce faire, dans la vie de tous les jours, mais dans ce projet en particulier, j'ai juste eu à
Le point est que si vous le faites, alors vous êtes l'introduction d'un trou de sécurité dans le navigateur. Toute personne utilisant par exemple un navigateur sur un non approuvé de la connexion wifi, par exemple, permet de routeur wifi pour injecter du script arbitraire dans le navigateur chrome. Au moins utiliser SSL ici!
je vois, mais cela signifie que même des scripts à partir de stackoverflow.com peut être substitué avec arbitraire, puisqu'ils sont chargés sans ssl trop
Oui, et sans doute le stackoverflow.com les développeurs ne se soucient pas si aléatoire wifi opérateurs pouvez exécuter le script au hasard de faire semblant d'être stackoverflow... ou même de l'identification de l'ensemble du site. S'ils le faisaient, ils seraient à l'exécution de leur site sur le protocole SSL.

OriginalL'auteur Alex K | 2011-07-28