在IE7中调试JavaScript

时间:2008-12-12 01:33:11

标签: javascript internet-explorer-7

我需要在Internet Explorer 7中调试JavaScript。

不幸的是,它的默认调试器并没有为我提供太多信息。它告诉我错误出现的页面(不是特定的脚本)并给我一个行号。我不知道这是否与我的问题有关。

如果它可以将错误缩小到特定脚本上的行号(如Firebug可以),那就太好了。

是否有一个插件可以在IE7中调试JavaScript,就像Firebug在Firefox中一样?

谢谢!

另见:

Does IE7 have a “developer mode” or plugin like Firefox/Chrome/Safari?

18 个答案:

答案 0 :(得分:90)

Web Development Helper非常好。

IE Dev Toolbar通常很有用,但遗憾的是不会进行脚本调试

答案 1 :(得分:41)

硬道理是:IE唯一优秀的调试器是Visual Studio。

如果您没有真正的交易资金,请下载免费的 Visual Web Developer 2008 Express Edition Visual Web Developer 2010 Express Edition。虽然前者允许您将调试器附加到已经运行的IE,但后者却没有(至少我以前使用过的版本不允许)。如果仍然如此,诀窍是创建一个带有一个空网页的简单项目,“运行”它(它启动浏览器),现在导航到你要调试的任何页面,然后开始调试。

微软在不同的活动中提供完整的Visual Studio,通常有许可证限制,但它们允许在家修修补补。检查他们的日程安排和免费赠品清单。

另一个提示:首先尝试使用其他浏览器调试您的Web应用程序。我在Opera上取得了巨大的成功。不知何故,Opera对IE及其漏洞的仿真非常接近,但调试器要好得多。

答案 2 :(得分:32)

你可能想试试 microsoft script debugger 它已经很老了,但是如果你偶然发现任何javascript错误它会非常有用,调试器会弹出来显示哪条线路搞乱了。当你进行正常的冲浪时,它可能会变得有效,但你可以在关闭时转动。

这是一个关于如何使用此工具的良好创业公司。 HOW-TO: Debug JavaScript in Internet Explorer

答案 3 :(得分:27)

我找到了DebugBar

不如Firebug好,但很接近。

答案 4 :(得分:25)

在IE7中,您可以通过在地址栏中粘贴以下内容来显示当前页面的firebug lite:

javascript:var firebug=document.createElement('script');firebug.setAttribute('src','http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js');document.body.appendChild(firebug);(function(){if(window.firebug.version){firebug.init();}else{setTimeout(arguments.callee);}})();void(firebug);

请参阅http://getfirebug.com/lite.html

答案 5 :(得分:7)

Microsoft脚本编辑器确实是一个选项,而我尝试过的那些更稳定的选项 - IE8中的调试器很棒但是出于某种原因,每当我启动开发人员工具时,IE8需要一段时间,有时候一分钟,检查我的页面的DOM树。之后,它似乎想在每次刷新时都这样做,这是一种折磨。

可以检查Microsoft脚本编辑器中的变量内容:如果您在Debug>下查找窗口你可以打开局部变量检查,观察等。

另一个选择,Visual Web Dev虽然体积庞大,但效果相当不错。要进行设置,请执行此操作(从here中窃取):

  1. 应在IE中启用调试。进入工具>互联网选项>高级并检查禁用脚本调试(Internet Explorer)是否未选中,并且显示有关每个脚本错误的通知已选中
  2. 在VWD
  3. 内创建一个新的空Web项目
  4. 在右上角的解决方案资源管理器中右键单击该站点,转到“浏览方式”并确保将默认浏览器设置为IE(如果您是Web开发人员IE是,则可以合理地假设您的默认浏览器,在这种情况下,默认情况下不是默认值。)
  5. 点击F5,IE将打开。浏览到要调试的页面。
  6. VWD现在会在您遇到脚本错误或在其中一个JS文件中设置断点时打开。调试吧!
  7. UPDATE :顺便说一句,如果你遇到与IE8相比不错的调试器同样的减速,有一个解决方法 - 如果你遇到或让IE遇到错误,它会弹出“你想调试”对话并点击是,调试器会立即出现。看起来如果你“直接”进入调试模式,Dev Tools从不检查DOM。只有当你击中F12时才会这样做。

答案 6 :(得分:3)

Microsoft脚本编辑器可用于在IE中调试Javascript。它比Microsoft Script Debugger的bug少,但具有相同的基本功能,遗憾的是,它几乎仅限于逐步执行。我似乎无法检查变量或任何像这样的方便的东西。此外,它仅出于某些奇怪的原因与Office XP / 2003一起提供。更多信息here如果你是游戏。

我下载了Eugene Lazutkin提到的Visual Web Developer 2008 Express Edition,但还没有机会尝试。我建议在脚本编辑器/调试器之前尝试。

答案 7 :(得分:3)

它不是一个完整的调试器,但我的DP_DEBUG扩展提供了一些(我认为)usful功能,它们可以在IE,Firefox和Opera(9 +)中运行。

您可以“转储”复杂JavaScript对象(甚至是系统对象)的可视化表示,简化日志记录和计时。该组件提供了启用或禁用它的简单方法,以便您可以根据需要将调试器留在生产工作位置。

DP_Debug

答案 8 :(得分:3)

IE8有很多改进的开发者工具。在此之前,最好首先为firefox编写javascript,然后使用alert()语句调试IE。

答案 9 :(得分:2)

IE9开发者工具对我有用。只需将“浏览器模式”菜单项设置为IE7。

答案 10 :(得分:1)

嘿,我遇到了同样的问题,发现了这个应用程序IETESTER。它非常棒,它是一个包含IE 5.5,6和7的应用程序。你现在拥有的IE版本并不重要。这允许您并排使用多个版本。

如果您在IE选项中启用了javascript调试并安装了Visual Studio,您甚至可以使用所有可用的调试选项(手表,条件断点等)调试VS中的javascript。

如果要在发生错误之前开始调试,只需要放行

debugger;

进入你的JS代码,这会带你进入VS,在这个语句之后开始调试。

对于测试JS代码的向后兼容性,这对我来说绝对令人惊讶。

答案 11 :(得分:0)

使用Internet Explorer 8.然后尝试使用开发人员工具。您也可以在兼容模式下基于IE 7进行调试

答案 12 :(得分:0)

答案 13 :(得分:0)

答案很简单。

  1. 获取Internet Explorer 9
  2. 按F12加载开发人员工具
  3. 将浏览器模式切换为IE7
  4. switching the browser mode on IE9

答案 14 :(得分:0)

通过Javascript静态分析工具(如JSLint)运行代码可以捕获一些常见的IE7错误,例如对象定义中的尾随逗号。

答案 15 :(得分:0)

IE8开发人员工具可以切换到IE7模式enter image description here

答案 16 :(得分:0)

如果你仍然需要调试IE 7,IE 11的仿真模式运行良好。

转到菜单:开发工具,然后进行模拟并进行设置。 它还提供错误行信息。

答案 17 :(得分:-1)

以下工具对我很有用:

1)http://www.debugbar.com/

为源,样式,DOM,脚本,HTML检查等功能提供便利的UI。它还会显示JS文件中的实际错误(哪一行,哪个文件)。

2)http://www.my-debugbar.com/wiki/CompanionJS/Installing

为IE6或IE7(最初不支持)提供控制台

  • 截图

enter image description here