为IE6调试javascript

时间:2009-01-21 09:59:23

标签: javascript css debugging internet-explorer-6 cross-browser

firebug是一个非常有用的工具,我不能认为自己没有它。我还下载了js文件,它可以帮助你在使用IE6时获得类似的功能,希望它可以帮助我解决一些问题,但是,我收到的消息不是很友好,例如:

“预期”:'(default2.aspx,16)“ - 第16行没有什么可以指望”:“

“对象不支持此属性或方法(default2.aspx,198)”第198行没什么有趣的,可能需要任何支持。

我的网站在IE6中看起来像一个不同的网站..大多数css都不起作用,一些jquery功能不起作用,我需要让这个网站在IE6中工作。任何帮助都将受到赞赏;

  • 如何知道IE6中的消息(如上所述)以及如何在IE6中有效调试js?

  • 从哪里开始获取css兼容性...例如我应该为不同的浏览器创建不同的css文件,并通过检测浏览器加载它们?或者有任何常见问题和黑客攻击吗?

我迷路了所以请给我任何指示开始......

8 个答案:

答案 0 :(得分:15)

您使用以下方法在IE6中调试javascript: -

Microsoft Script Debugger

QuirksMode网站是一个有用的网站,用于确定哪些CSS以哪种方式通过哪种浏览器实现。注意IE6“标准”模式渲染是众所周知的错误。

答案 1 :(得分:7)

您可以尝试Companion JS。它在调试方面非常好。它也需要Microsoft Script Debugger。

Companion JS谢天谢地支持“console.log”(通过firebug)。这是免费的工具。 Debug-bar是一个很好的CSS-DOM-Javascript调试器,但它不能用于商业目的。

答案 2 :(得分:3)

我使用的两个工具是:

  1. Web Development Helper
  2. IE Developer Toolbar
  3. 它们在某种程度上复制了彼此的功能,但每个功能对于不同的任务都很有用。 Web Development Helper有一个内置的JavaScript控制台,它不如Firebug好,但它比MS Script Debugger更好,更容易。

答案 3 :(得分:3)

  

“预期”:'(default2.aspx,16)“ - 第16行没有什么可以指望”:“

错误不会出现在.aspx文件的第16行,甚至可能不在aspx文件生成的HTML源代码的第16行。它将在您链接的.js文件的第16行附近。哪一个? IE不会告诉你。

你可以通过在每个.js文件的开头添加额外的行来查看错误行号会发生什么,但最好只安装Script Debugger。

IE8终于解决了这个问题。

  

我应该为不同的浏览器创建不同的css文件,并通过检测浏览器来加载它们吗?或者有任何常见问题和黑客攻击吗?

从符合标准的CSS和标准模式doctype开始,并在Firefox 3或Opera,Safari,Chrome中进行测试。大多数情况下,他们会给你或多或少相同的结果。现在在IE7中进行测试,希望它能正常工作。

今天麻烦的浏览器是IE6。您可能需要添加hacks。你可以在单独的样式表中执行此操作,如果有很多样式表,或者只是使用“* html”hack来进行偶尔的规则。

所有较旧的黑客,你的Box Model Hacks等等,你可以忘掉。它们仅用于IE5,它已经死了,还有IE6 Quirks Mode,你不应该使用它。

答案 4 :(得分:0)

我使用两种方法之一进行js调试:Microsoft脚本编辑器或Firebug Lite。转到here了解更多信息。

对于CSS,我建议使用CSS Reset。对于IE6中的微小差异,请考虑使用conditional comments

在使应用程序在多个浏览器中使用时,quirksmode是一个救星。

编辑:blackbird是一个很好的跨浏览器工具,用于跟踪状态。

答案 5 :(得分:0)

或进行AJAX调用以将调试变量/消息发送到将记录它的ASP(PHP)脚本。如果问题是变量未定义或有类似问题,这将有所帮助。

答案 6 :(得分:0)

对于它的价值,我发现使用单独的js文件时行号错误要准确得多。

开发时我仍然使用IE6作为我的主浏览器。它后来节省了很多麻烦,因为在这个过程中你会经常发现CSS问题。

我还发现使用JavaScript记录器发送调试消息很有帮助。这是一堆警报消息的替代方案。就个人而言,我使用yahoo UI logger

答案 7 :(得分:0)

我已使用MS Script Debugger取得了一些成功,IE Developer ToolbarFirebug Lite。我最近learned about MS Visual Web Developer Express Edition,到目前为止这是一个很大的改进。