Question

Comment JavaScript débogage avec IE 8?

Le débogage JavaScript avec Visual Studio ne fonctionne pas après une mise à jour IE 8.

Était-ce utile?

La solution

Je découvre aujourd'hui que nous pouvons maintenant déboguer Javascript Avec les plug-ins de la barre d'outils de développement integreted dans IE 8.

  • Cliquez sur ▼ Outils sur la barre d'outils, à droite des onglets.
  • Sélectionnez Outils de développement . Le dialogue Outils de développement devrait ouvrir.
  • Cliquez sur Script dans le dialogue.
  • Cliquez sur Démarrer le débogage .

Vous pouvez utiliser la montre, point d'arrêt, voir la pile d'appels, etc., de façon similaire à débogueurs dans les navigateurs professionnels.

Vous pouvez également utiliser l'instruction debugger; dans votre code JavaScript l'ensemble un point d'arrêt.

Autres conseils

Vous pouvez obtenir plus d'informations sur IE8 Developer Toolbar débogage Debugging JScript ou Debugging Script avec les outils développeur .

Cela ne vous aidera pas, étape par code ou cassez sur les erreurs, mais il est un moyen utile pour obtenir la même console de débogage pour votre projet sur tous les navigateurs.

myLog = function() {
    if (!myLog._div) { myLog.createDiv(); }

    var logEntry = document.createElement('span');
    for (var i=0; i < arguments.length; i++) {
        logEntry.innerHTML += myLog.toJson(arguments[i]) + '<br />';
    }
    logEntry.innerHTML += '<br />';

    myLog._div.appendChild(logEntry);
}
myLog.createDiv = function() {
    myLog._div = document.body.appendChild(document.createElement('div'));
    var props = {
        position:'absolute', top:'10px', right:'10px', background:'#333', border:'5px solid #333', 
        color: 'white', width: '400px', height: '300px', overflow: 'auto', fontFamily: 'courier new',
        fontSize: '11px', whiteSpace: 'nowrap'
    }
    for (var key in props) { myLog._div.style[key] = props[key]; }
}
myLog.toJSON = function(obj) {
    if (typeof window.uneval == 'function') { return uneval(obj); }
    if (typeof obj == 'object') {
        if (!obj) { return 'null'; }
        var list = [];
        if (obj instanceof Array) {
            for (var i=0;i < obj.length;i++) { list.push(this.toJson(obj[i])); }
            return '[' + list.join(',') + ']';
        } else {
            for (var prop in obj) { list.push('"' + prop + '":' + this.toJson(obj[prop])); }
            return '{' + list.join(',') + '}';
        }
    } else if (typeof obj == 'string') {
        return '"' + obj.replace(/(["'])/g, '\\$1') + '"';
    } else {
        return new String(obj);
    }
}

myLog('log statement');
myLog('logging an object', { name: 'Marcus', likes: 'js' });

Ceci est mis en place assez vite et est un peu bâclé, mais il est néanmoins utile et peut être améliorée facilement!

J'espérais ajouter ceci comme commentaire à la réponse de Marcus Westin, mais je ne peux pas trouver un lien - peut-être que je dois plus de réputation


Quoi qu'il en soit, merci, je trouve cet extrait de code utile pour le débogage rapide dans Internet Explorer. J'ai fait quelques ajustements rapides pour résoudre un problème qui l'a arrêté de travailler pour moi, aussi pour faire défiler automatiquement et utiliser le positionnement fixe, de sorte qu'il apparaîtra dans la fenêtre. Voici ma version au cas où quelqu'un trouve utile:

myLog = function() {

    var _div = null;

    this.toJson = function(obj) {

        if (typeof window.uneval == 'function') { return uneval(obj); }
        if (typeof obj == 'object') {
            if (!obj) { return 'null'; }
            var list = [];
            if (obj instanceof Array) {
                    for (var i=0;i < obj.length;i++) { list.push(this.toJson(obj[i])); }
                    return '[' + list.join(',') + ']';
            } else {
                    for (var prop in obj) { list.push('"' + prop + '":' + this.toJson(obj[prop])); }
                    return '{' + list.join(',') + '}';
            }
        } else if (typeof obj == 'string') {
            return '"' + obj.replace(/(["'])/g, '\\$1') + '"';
        } else {
            return new String(obj);
        }

    };

    this.createDiv = function() {

        myLog._div = document.body.appendChild(document.createElement('div'));

        var props = {
            position:'fixed', top:'10px', right:'10px', background:'#333', border:'5px solid #333', 
            color: 'white', width: '400px', height: '300px', overflow: 'auto', fontFamily: 'courier new',
            fontSize: '11px', whiteSpace: 'nowrap'
        }

        for (var key in props) { myLog._div.style[key] = props[key]; }

    };


    if (!myLog._div) { this.createDiv(); }

    var logEntry = document.createElement('span');

    for (var i=0; i < arguments.length; i++) {
        logEntry.innerHTML += this.toJson(arguments[i]) + '<br />';
    }

    logEntry.innerHTML += '<br />';

    myLog._div.appendChild(logEntry);

    // Scroll automatically to the bottom
    myLog._div.scrollTop = myLog._div.scrollHeight;

}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top