Debug和IE只有JS bug

时间:2011-07-16 13:12:14

标签: javascript internet-explorer-7

IE bug

我有一个IE唯一的bug,可能是为了做流浪角色。我收到这个弹出消息,但我不知道bug在哪里。在FF中,各种扩展指示错误的确切位置,但这不是一个选项。我该如何追踪发生此错误的位置? IE7

更新 IE8似乎在调试方面要好得多,并且有一个浏览器模式可以作为IE7查看。对于那些对错误感兴趣的人,它是由frmUsername不存在引起的

window.onload = function() {
        document.getElementById('frmLogin').frmUsername.focus();
    }

在IE8中被忽略

5 个答案:

答案 0 :(得分:3)

安装IE8。它有更好的调试器 IE7模式。幸运的是,会发生同样的错误,您将能够追踪它。

答案 1 :(得分:1)

您可以尝试将Firebug Lite添加到您的html并使用IE7中的调试进行调试

http://getfirebug.com/firebuglite

答案 2 :(得分:0)

错误消息告诉您发生错误的行。在文本编辑器中打开URL的响应,然后查看该行。

答案 3 :(得分:0)

没有看到任何代码,就无法确定,但我愿意打赌我可以猜出错误是什么。

我认为你对Trailing Comma Of Death犯了错误。

在Javascript中,您可能有一个看起来像这样的数组:

var mydata = [160,
              431,
              117,
              84,
              ];

这将在所有浏览器中完美运行....除了IE。

....它在IE中给出的错误就是你所描述的错误。

原因?这是84之后的逗号(或者你的最后一个项目恰好是什么)。如果它是一个对象结构而不是一个数组,它将是相同的。

从技术上讲,IE拒绝这个逗号是正确的 - 它在Javascript规范中是不允许的。但是所有其他浏览器都乐于忽略它,因此您可以获得适用于所有浏览器的代码情况,但不能在一个几乎无法调试的浏览器中使用。

希望这足以帮助您找到问题所在。上面链接的网站上有更多信息(加上一些有趣的图片)。 :)

答案 4 :(得分:-1)

打开ie7 点击f12 点击“开始调试”

修改 下载这个: http://www.microsoft.com/download/en/details.aspx?id=18359

然后按照上述步骤操作。