2012-02-03 168 views
51

我有~100-200 javascript函数加载在一个网站上。 我想确定在Google Chrome中单击一个或另一个项目时执行的JavaScript功能。 我如何使用Chrome网页开发人员工具执行此操作? 谢谢!Chrome中的Javascript执行跟踪 - 如何?

回答

64

一种简单的方法是启动Chrome开发者工具,切换到Sources面板并点击F8(暂停执行)。这将在第一个执行的JavaScript语句中打破。

另一种方法是为mousedown设置事件侦听器断点,或单击:在同一个“源”面板中,展开右侧边栏中的“事件侦听器断点”。展开“鼠标”项并检查您想要打破的事件(例如“点击”,“ousedown”)。然后点击你的页面,在DevTools中看到JS执行中断。请享用!

+0

thx很多!如果我在FCKeditor中选择文本,“鼠标左键单击”,将鼠标移动到另一个地方并释放,应该捕获什么鼠标事件。可能是 – Pave 2012-02-03 10:50:32

+0

“mouseup”。不过,不熟悉FCKeditor。 – 2012-02-03 11:47:28

+0

我试过了,但是......还没有工作......我会试试自己。谢谢! – Pave 2012-02-03 13:37:57

14

我想确定当我点击Google Chrome中的一个项目或另一个项目时执行的JavaScript函数。

现在有一个很好的扩展名为Visual Event,正是这样做。它只识别通过流行的js库(jQuery,YUI,MooTools,Prototype,Glow)和DOM Level 0事件设置的事件处理程序。

+0

工作正常。不确定安全性,所以在我不调试的时候离开。 – MagicLAMP 2017-05-17 00:15:20

17

以暂停执行(这通常的伟大工程,但不会对网页以及工作中经常定期执行代码)

您可以使用Chrome的探查器来记录的短时间内的替代品。完成录制后,它会显示在录制过程中执行的任何功能花费的CPU时间的摘要。我们并不关心CPU时间,只是使用这个工具,因为它会告诉我们哪些函数被执行。

基本上只是开始录音:

chrome profiler start button

然后做你的动作(例如,点击网页上的按钮,或做任何将导致有趣的代码执行)。然后停止录音并查看结果:

profiler result summary

通知我使用“自上而下”的观看模式 - 它会显示调用堆栈,并且可以向下钻取,看看哪些功能最终得到调用。例如,首先调用一些匿名函数(可能是因为setTimeout或可能是一些点击事件处理程序),然后它调用一些由s.track.s.t标识的方法,然后调用s_doPlugins等......重要的是,在顶部在树形顶部的条目形成一个调用堆栈的开始,因此它们通常是由某个定时器函数(setTimeout,setInterval,​​等)或一些事件处理程序(clickmousemoveload等)。

您还可以使用“图表”查看模式,该模式显示您在哪个时间调用哪个函数,从左到右绘制在图表上。这可以帮助您识别您真正需要的功能,因为您可能对代码在记录中执行的时间(例如,正确的中间位置)有所了解。

顺便说一句 - 我相信大多数其他现代浏览器有类似的能力。