internet-explorer-7 js调试 - 在IE7中调试JavaScript





ie调试 ie调试工具 (16)


以下工具对我很有用:

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

为源代码,样式,DOM,脚本,HTML检查等功能提供方便的用户界面。 它也显示了你的JS文件中的实际错误(哪一行,哪个文件)。

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

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

  • 截图

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

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

如果能够将错误缩小到特定脚本的行号(如Firebug can),那将会很好。

在IE7中有没有插件来调试JavaScript,比如Firefox中的Firebug?

谢谢!

也可以看看:

IE7是否有“开发者模式”或Firefox / Chrome / Safari等插件?




事实上,唯一的好的IE调试器是Visual Studio。

如果您没有钱购买实物,请免费下载Visual Web Developer 2008 Express Edition Visual Web Developer 2010 Express Edition 。 前者允许你将调试器附加到已经运行的IE上,后者不会(至少以前的版本不支持)。 如果情况仍然如此,诀窍是创建一个带有一个空网页的简单项目,“运行”它(启动浏览器),现在导航到任何想要调试的页面,然后开始调试。

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

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




在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




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

您可以“转储”复杂的JavaScript对象(甚至系统对象)的可视化表示,执行简化的日志记录和时间。 该组件提供了简单的方法来启用或禁用它,以便您可以将调试器留在适合生产工作的位置,如果您愿意的话。

DP_Debug




微软脚本编辑器的确是一种选择,而且我尝试过一种更稳定的方法 - IE8中的调试器非常棒,但由于某种原因,无论何时我启动开发工具,IE8都需要一段时间,有时甚至达到分钟,检查我的页面的DOM树。 事后似乎要在每一次页面刷新时都这样做,这是一种折磨。

可以在Microsoft Script编辑器中检查变量的内容:如果您在调试>窗口下方查看,您可以打开局部变量检查,等等。

另一种选择Visual Web Dev虽然体积庞大,但工作得相当好。 要设置它,请执行此操作(从here盗取):

  1. 调试应该在IE中打开。 进入工具> Internet选项>高级,并检查是否选中禁用脚本调试(Internet Explorer)显示有关每个脚本错误的通知
  2. 在VWD中创建一个新的空白Web项目
  3. 在右上角的解决方案资源管理器中右键单击该网站,转到浏览并确保您的默认浏览器设置为IE(假设您是Web开发人员是合理的,IE 不是您的默认浏览器,在这种情况下这不会是默认的..默认情况下)
  4. 点击F5,IE会打开。 浏览到您要调试的页面。
  5. VWD现在会在任何时候出现脚本错误或者您在其中一个JS文件中设置断点时打开。 调试了!

更新 :顺便说一下,如果你遇到像IE8那样不错的调试器,我会遇到同样的减速问题,这里有一个解决方法 - 如果遇到或者让IE遇到错误,它会弹出“你想调试”对话框点击是,调试器会立即出现。 看起来如果你直接进入调试模式,Dev Tools从不检查DOM。 只有当你击中F12时才会这样。




你可能想尝试微软的脚本调试器,它是非常古老的,但它是非常有用的,如果你偶然发现任何JavaScript错误,调试器将弹出显示你哪一行搞乱了。 有时候,当你正常冲浪的时候,它可能会令人兴奋,但如果关闭,你可以打开。

这也是如何使用这个工具的一个很好的启动。 操作方法:在Internet Explorer中调试JavaScript




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




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




IE8开发工具可以切换到IE7模式




嘿,我遇到了同样的问题,发现这个应用程序IETESTER 。 这真是太棒了,它是一个包含IE 5.5,6和7的应用程序。 无论您目前拥有哪个IE版本都无所谓。 这使您可以并排多个版本。

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

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

debugger;

到你的JS代码中,这会让你进入VS,在这个声明之后开始调试。

对于测试JS代码的向后兼容性,这对我来说非常棒。




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




如果你仍然需要调试IE 7,IE 11的模拟模式工作得很好。

转到菜单:开发工具,然后进行仿真并进行设置。 它也给出错误行信息。










答案很简单。

  1. 获取Internet Explorer 9
  2. 按F12加载开发人员工具
  3. 将浏览器模式切换到IE7




前两个答案都提到==表示平等,===表示身份。不幸的是,这种说法不正确。

如果==的两个操作数都是对象,则比较它们以查看它们是否是同一个对象。如果两个操作数都指向同一个对象,则等于运算符返回true。否则,两者并不相等。

var a = [1, 2, 3];  
var b = [1, 2, 3];  
console.log(a == b)  // false  
console.log(a === b) // false  

在上面的代码中,==和===都得到false,因为a和b不是同一个对象。

也就是说:如果==的两个操作数都是对象,==的行为与===相同,这也意味着身份。这两个运算符的本质区别在于类型转换。==在检查相等性之前进行转换,但===没有。







javascript internet-explorer-7