【问题标题】:debugging javascript for IE6调试 IE6 的 javascript
【发布时间】:2010-10-02 15:41:32
【问题描述】:

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

"Expected ':' (default2.aspx,16)" - 在第 16 行,没有什么可以期待 ":"

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

我的网站在 IE6 中看起来像一个不同的网站。大多数 css 不起作用,一些 jquery 函数不起作用,我需要让这个网站在 IE6 中工作。任何帮助将不胜感激;

  • 如何知道IE6中的消息(如上图)是什么意思,如何在IE6中有效地调试js?

  • 从哪里开始以获得 css 兼容性.. 例如我应该为不同的浏览器创建不同的css文件并通过检测浏览器来加载它们吗?还是有什么常见问题和技巧?

我迷路了,所以请给我任何开始的方向..

【问题讨论】:

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


    【解决方案1】:

    我已经成功使用了MS Script Debugger,还有IE Developer ToolbarFirebug Lite。我最近learned aboutMS Visual Web Developer Express Edition,到目前为止进步很大。

    【讨论】:

      【解决方案2】:

      我使用以下两种方式之一进行 js 调试:Microsoft Script Editor 或Firebug Lite。去here了解更多信息。

      至于 CSS,我推荐CSS Reset。对于 IE6 的细微差别,请考虑使用conditional comments

      当让一个应用程序在多个浏览器中使用时,quirksmode 是一个救命稻草。

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

      【讨论】:

      • 您使用的是哪个版本的 Firebug Lite?我用的是现在的,好像弹出很多JS错误。
      【解决方案3】:

      不管怎样,我发现使用单独的 js 文件时,行号错误要准确得多。

      我在开发时仍然使用 IE6 作为我的主要浏览器。它在以后省去了很多麻烦,因为您经常会在此过程的早期发现 CSS 问题。

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

      【讨论】:

        【解决方案4】:

        你可以试试Companion JS。它在调试方面非常好。它还需要 Microsoft Script Debugger。

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

        【讨论】:

          【解决方案5】:

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

          【讨论】:

          • 使用 Firebug Lite 并使用 console.log 会容易得多
          【解决方案6】:

          "Expected ':' (default2.aspx,16)" - 在第 16 行,没有什么可以期待 ":"

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

          您可以通过在每个 .js 文件的开头添加额外的行并查看错误行号会发生什么来找出答案,但最好已经安装 Script Debugger。

          IE8 终于解决了这个问题。

          我应该为不同的浏览器创建不同的css文件并通过检测浏览器来加载它们吗?还是有什么常见问题和技巧?

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

          今天比较麻烦的浏览器是IE6。您可能需要为其添加黑客。如果样式表很多,您可以在单独的样式表中执行此操作,或者仅使用“* html” hack 作为临时规则。

          您可以忘记所有较旧的 hack,您的 Box Model Hacks 等等。它们仅适用于已死的 IE5 和不应该使用的 IE6 Quirks Mode。

          【讨论】:

            【解决方案7】:

            我使用的两个工具是:

            1. Web Development Helper
            2. IE Developer Toolbar

            它们在某种程度上重复了彼此的功能,但每一种都可以用于不同的任务。 Web Development Helper 有一个内置的 JavaScript 控制台,它不如 Firebug,但总比没有好,比 MS Script Debugger 更容易。

            【讨论】:

            • IE 开发工具栏在 IE 6 中似乎没有任何脚本调试功能
            【解决方案8】:

            你在 IE6 中调试 javascript:-

            Microsoft Script Debugger

            QuirksMode 网站是一个有用的网站,可以确定哪些 CSS 位是由哪个浏览器以何种方式实现的。注意 IE6“标准”模式渲染是出了名的错误。

            【讨论】:

            • 现在看来,即使是那个下载页面也不能在 IE6 中工作。 :-D 我不相信我们的客户声称的这些 IE6 用户实际上已经将他们的计算机连接到 Internet。我怀疑他们能分辨出来。
            猜你喜欢
            • 2012-03-08
            • 1970-01-01
            • 2010-10-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-09-06
            相关资源
            最近更新 更多