Chrome中的调试方法:识别Onload事件结束后执行哪行代码
Debugging Method in Chrome: Identify what line of code is executed after Onload event ended
我在 javascript 中有一个函数。例如:
function Sample(){
var myid_signature_image = new Image();
myid_signature_image.onload = function () {
alert('Two');
};
alert('One');
}
我在函数的每一行都打了一个断点。首先显示 One
,然后显示 Two
。在 onload
事件之后,某些 javascript 函数干扰了我的代码。我怎么知道它使用的是哪一行代码 Google Chrome Developer Tools
?
使用 Chrome DevTools 的 timeline。
过滤掉紫色(渲染)和绿色(绘画)事件,因为这不是您感兴趣的。
您可以使用 console.timeStamp("Marker name");
以编程方式在时间轴中添加标记。这可能会帮助您找到时间范围:
myid_signature_image.onload = function () {
console.timeStamp("Image loaded");
};
如果未激活 火焰图 视图,标记将在时间轴中呈现为一个小的彩色条。将鼠标悬停在上面可以看到时间戳标签。您还可以使用搜索框来查找事件。请参阅下面的截图:
一旦找到与图像加载事件后执行的 javascript 相对应的事件,您可以从那里跳转到脚本代码行。
启动开发人员工具 (Ctrl + Shift + I
) 并在“源”选项卡下,在 alert('Two');
行放置一个断点。通过浏览器执行您的 html 操作,在这种情况下 onload
需要刷新,它将在断点处停止。从这里,只需按 F10
(跳过下一个函数调用),它会告诉您在 onload
事件之后接下来执行的行。
我在 javascript 中有一个函数。例如:
function Sample(){
var myid_signature_image = new Image();
myid_signature_image.onload = function () {
alert('Two');
};
alert('One');
}
我在函数的每一行都打了一个断点。首先显示 One
,然后显示 Two
。在 onload
事件之后,某些 javascript 函数干扰了我的代码。我怎么知道它使用的是哪一行代码 Google Chrome Developer Tools
?
使用 Chrome DevTools 的 timeline。
过滤掉紫色(渲染)和绿色(绘画)事件,因为这不是您感兴趣的。
您可以使用 console.timeStamp("Marker name");
以编程方式在时间轴中添加标记。这可能会帮助您找到时间范围:
myid_signature_image.onload = function () {
console.timeStamp("Image loaded");
};
如果未激活 火焰图 视图,标记将在时间轴中呈现为一个小的彩色条。将鼠标悬停在上面可以看到时间戳标签。您还可以使用搜索框来查找事件。请参阅下面的截图:
一旦找到与图像加载事件后执行的 javascript 相对应的事件,您可以从那里跳转到脚本代码行。
启动开发人员工具 (Ctrl + Shift + I
) 并在“源”选项卡下,在 alert('Two');
行放置一个断点。通过浏览器执行您的 html 操作,在这种情况下 onload
需要刷新,它将在断点处停止。从这里,只需按 F10
(跳过下一个函数调用),它会告诉您在 onload
事件之后接下来执行的行。