如何调试遗留的javascript代码(适用于IE,但在Google Chrome中不正常)
how to debug legacy javascript code (works fine with IE, but abnormal in Google Chrome)
通常的问题是"当遗留javascript代码在IE中运行良好,但在Google Chrome中异常时,建议使用什么例程来调试遗留javascript代码"?
我有一个遗留项目。我遇到了以下问题:
- JSP页面调用后端javaservlet,servlet返回一个html表
- 这个HTML表已经由servlet进行了排序
- 这个HTML表受到本地JS和CSS的影响,使其更加美观
- 在IE8、Safari和Firefox中一切运行良好
- 但在谷歌浏览器中,该表似乎不正常。此处不再对结果进行排序
以上情况不是javascript语法错误。那么如何&我从哪里开始解决它?
为了得到servlet返回的html表,您应该使用alert()
、console.log()
或将其设置为<div id="log"></div>
的innerHTML。然后,每次js的指令修改其代码时,都要重新执行。
通过这种方式,你会发现你的代码中的哪条指令在Chrome上没有像你期望的那样工作,找出它为什么以及如何工作。
然后,根据浏览器的不同,使用条件语句执行不同的指令。
使用Google Chrome中的开发工具。在操作之前添加断点,并将涉及的变量添加到watch expression
面板。逐行调试并观察变量的变化——您将能够看到哪里出了问题。方法如下:https://developers.google.com/chrome-developer-tools/docs/scripts-breakpoints
相关文章:
- 列表样式在IE中未设置为none,但在IE中适用
- 滚动在Chrome中有效,但在Firefox或IE中无效
- 为什么这个按钮在IE中有效,但在Firefox中无效
- 以下颜色更改功能在IE9和Firefox中运行良好,但在早期的IE或Chrome中则不然
- Javascript'元素'在ie中未定义,但在chrome和firefox中运行良好
- 获取所选选项的Javascript在Webkit/FF中有效,但在IE中无效
- javascript代码,用于删除firefox中的空白,但在IE和chrome中无法正常工作
- 无法从IE中的data.responseText获取结果,但在其他浏览器中工作
- jQuery代码在Firefox中工作,但在IE中失败
- Javascript正则表达式在IE中失败,但在Chrome和Edge中工作
- 如何调试遗留的javascript代码(适用于IE,但在Google Chrome中不正常)
- 禁用字段在IE中有效,但在Firefox中无效
- jqGrid-在IE中产生SCRIPT5007错误,但在localhost上工作
- 为什么对img标记的前向引用在Chrome上失败,但在FireFox和IE上有效
- Date对象在Chrome中有效,但在Safari、Firefox或IE中无效
- ng-click在IE中不起作用,但在CHROME中工作正常
- 拖放文件时,dataTransfer.items属性在Firefox和IE中未定义,但在Chrome中未定义
- jQuery scrollTop没有'不能在FF或IE中制作动画,但在chrome中效果良好
- innerHTML=Date()在fiddle中工作,但在Chrome或IE中不工作
- Onchange,向上,向下箭头键适用于FF和Chrome,但在IE中不起作用