代码之家  ›  专栏  ›  技术社区  ›  mwalker

有哪些工具可以跟踪ie7 javascript问题?

  •  0
  • mwalker  · 技术社区  · 14 年前

    我正在尝试调试一个大型而复杂的webapp,它大量使用div、ajax、动态HTML和服务器端代码来完成它的工作。

    在正常操作下,我们没有问题。但是,当我们将webapp放到iframe中时,某些函数会触发IE7中的崩溃,使浏览器无法运行(使用的所有CPU)。

    有哪些工具可以帮助跟踪可能发生的情况?将IE进程加载到调试器中会提供关于寄存器的各种有趣信息,但我认为问题出在javascript中。

    我们已经追踪到应用程序的一个问题,它已经涉及到对一个元素(一些附加到它自身的 window. 而不是 document. )

    我编写了一个测试iframe页面,它将iframe的innerhtml转储到一个文本区域中,这样可以在各种状态下进行比较,但这只显示静态属性,我无法判断与元素相关联的javascript事件的类型,也无法确定处理程序是否按顺序触发。

    IE8、火狐、Chrome等没有相同的行为。

    理想情况下,我想要一些能让我快照DOM(或JavaScriptVM)的东西。在一个已知良好的状态下,然后“就在它发生之前”,这样我们就可以了解添加/删除/丢失/不同的内容。外面是什么?

    更新: 我现在正尝试使用IE开发者工具栏来跟踪它。

    更新2: IE7崩溃发生在以下Ajax代码之后:

    function Sys$UI$Control$get_element() {
        /// <value domElement="true" locid="P:J#Sys.UI.Control.element"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._element;
    }
    

    这个 return this._element; 线是我输前最后发生的事。

    6 回复  |  直到 11 年前
        1
  •  6
  •   Paul Sweatte    11 年前
    1. IE开发者工具栏。下载它 here (iedevtoolbarsetup.msi)。
    2. 有关JavaScript调试,请参阅 this blog .
        2
  •  2
  •   Density 21.5    14 年前

    有人做了一个叫做“Internet Explorer收藏”的捆绑包。它在不同的版本中包含了6种不同的IE浏览器,从IE6到IE8不等。所有这些都包括Firebug(实际上是它的一种工作)和Internet Explorer开发人员工具栏。

    调试IE7问题对我真的很有帮助。

    看见 this 链接。

        3
  •  1
  •   Martijn Laarman    14 年前

    通过将“调试器”放在您希望开始调试的地方的javascript文件中,您可以在Visual Studio中调试javascript,并完成跟踪、调用堆栈等。

        4
  •  0
  •   Wyatt Barnett    14 年前

    IE开发者工具栏绝对有帮助。如果你能得到一台带有vs和ie7的机器,那么Visual Studios的调试器也非常好。

        5
  •  0
  •   mikemanne    14 年前

    Dynatrace是一个IE7的分析工具。但是,它提供了大量的信息(包括JS堆栈),因此它对调试也非常有帮助。

        6
  •  0
  •   user240141    14 年前

    IE7和IE8有内置的调试工具。按F12,就可以调试了。此外,firebug firefox和chrome的inspect元素选项也很有用/