我一直在学习如何使用Chrome开发者工具(CDT)进行调试。
我正在尝试向以HTML / Javascript / jQuery / MySQL编写的应用程序添加一些功能。基本上,它会使用jQuery从MySQL加载由Ajax创建的表,以及检查cookie的数字列表的方式,该数字列表表示要打开或关闭toggle()的列。
首次加载时,它会检查Cookie并按要求地加载请求的列。但是,当我刷新表(而不是重新加载页面)并再次读取cookie时,它会暂时显示列,然后立即再次将其关闭。
使用CDT遍历javascript会把我带出代码,并在// callback开始的行中进入jQuery v3.3.1或未压缩版本的第9523行。弹跳了一下之后,它停止了,并且我的页面显示出来,没有其他列。但是CDT中没有显示任何错误,而且它的任何功能“看起来”在我眼中都是错误的。
我知道你们很多人想要的第一件事就是javascript,但是它是一个很大的程序,所以如果您遇到麻烦,我不知道如何提供一个无法正常工作的模型。此外,我对学习使用CDT来解决此类问题更感兴趣。但是我不知道下一步该怎么做,我已经看了很多YouTube视频,我问了几个朋友,但是这些都无济于事。
现在看来,它的“闪烁”问题发生在jQuery-3.3.1.js中回调函数@ 9548行的“完成”部分中。通过注释将其隔离会使情况变得更糟,似乎没有任何效果。所以我回到正题。
我应该在CDT中寻找什么?
答案 0 :(得分:0)
如果您有代码库,请尝试在要放置断点以调试JavaScript的地方使用debugger;
。
答案 1 :(得分:0)
由于您有兴趣了解如何使用CDT调试DOM中的js / html / css问题,因此我的答案将重点放在那个您确切的问题可能会或可能不会。请注意,DOM中的显示问题并不是通常会在浏览器控制台中显示的错误-CDT调试的理想之选。
CDT中一种非常有用的技术是使用break on ...
功能。我将指导您如何使用它,以及如何利用它来诊断您的特定问题。有关here的更多信息,请参见DOM。
Inspect
。display: none
,visibility: hidden
等),请查找发生此更改的元素。您可能需要重复上述步骤几次,然后才能准确地进行更改。Break on... > subtree modifications
。如果这是属性更改的结果元素,请右键单击该元素,然后选择Break on... > attribute modifications
。
here 希望此信息将为您指明正确的方向,祝您好运!