如何使用IE 8调试Javascript

Céd*_*vin 63 javascript internet-explorer-8 ie-developer-tools

我们如何使用IE 8调试JavaScript?

在更新IE 8后,使用Visual Studio进行的JavaScript重新编译无效.

Céd*_*vin 81

我今天发现我们现在可以调试Javascript使用IE 8中集成的开发人员工具栏插件.

  • 单击选项卡右侧工具栏上的▼工具.
  • 选择开发者工具.开发者工具对话框应该打开.
  • 单击对话框中的" 脚本"选项卡.
  • 单击" 开始调试"按钮.

您可以使用watch,breakpoint,查看调用堆栈等,与专业浏览器中的调试器类似.

您还可以debugger;在JavaScript代码中使用该语句设置断点.

  • @VaibhavDesai我还在诅咒IE 8.调试功能太差了. (6认同)
  • 您可以在没有调试器的情况下设置断点; 声明.IE8非常适合JS调试,特别是你可以用IE8工具渲染和解析IE7. (2认同)
  • @Reinis I.你放了一个; 在你的调试器之后; ?? (2认同)

Lil*_*key 8

您可以使用Developer ToolsDebugging JScriptDebugging Script中获得有关IE8 Developer Toolbar调试的更多信息.


Mar*_*tin 6

这不会帮助您逐步执行代码或中断错误,但这是在所有浏览器上为您的项目获取相同调试控制台的有用方法.

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' });
Run Code Online (Sandbox Code Playgroud)

这是非常仓促的,并且有点草率,但它仍然有用,可以很容易地改进!