質問

IE 8でJavaScriptをデバッグするにはどうすればよいですか?

IE 8の更新後、Visual Studioを使用したJavaScriptの減少は機能しません。

役に立ちましたか?

解決

本日、IE 8に統合された開発者ツールバープラグインを使用してJavaScriptをデバッグできることを発見しました。

  • クリック ▼ツール ツールバーのタブの右側。
  • 選択する 開発者ツール. 。開発者ツールのダイアログが開くはずです。
  • クリック 脚本 ダイアログのタブ。
  • クリック デバッグを開始します ボタン。

Professionalブラウザのデバッガーと同様に、Watch、Breakpoint、Call Stackなどを使用できます。

ステートメントを使用することもできます debugger; JavaScriptコードでは、ブレークポイントを設定します。

他のヒント

IE8開発者ツールバーのデバッグに関する詳細情報を入手できます。 jscriptのデバッグ また 開発者ツールを使用したスクリプトのデバッグ.

これは、コードを介したり、エラーを破ったりするのに役立ちませんが、すべてのブラウザでプロジェクトに同じデバッグコンソールを取得するのに便利な方法です。

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

これはかなり急いでまとめられ、少しずさんですが、それでも便利であり、簡単に改善できます!

マーカス・ウェスティンの返信へのコメントとしてこれを追加したいと思っていましたが、リンクが見つかりません - 多分私はもっと評判が必要ですか?


とにかく、ありがとう、私はこのコードスニペットがIEでの迅速なデバッグに役立つことがわかりました。私はそれが私のために機能するのを止める問題を修正するためにいくつかの簡単な調整を行いました。また、自動的にスクロールダウンし、固定位置を使用してビューポートに表示されるようにします。誰かがそれを便利だと思う場合に備えて、これが私のバージョンです:

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;

}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top