我可以将当前运行的javascript函数登录到Chrome开发者控制台吗?
我有一个非常复杂的页面,有很多javascript需要修复。它涉及很多函数,我需要找出一个特定的函数,它在拖动Raphael JS对象时触发。我不知道那是哪一个。 是否有可能将“立即”运行的内容记录到控制台?我可以将当前运行的javascript函数登录到Chrome开发者控制台吗?,javascript,events,google-chrome,raphael,google-chrome-devtools,Javascript,Events,Google Chrome,Raphael,Google Chrome Devtools,我有一个非常复杂的页面,有很多javascript需要修复。它涉及很多函数,我需要找出一个特定的函数,它在拖动Raphael JS对象时触发。我不知道那是哪一个。 是否有可能将“立即”运行的内容记录到控制台? 我知道,输出会很混乱,但我有机会看到,如果我用鼠标抓住对象,会发生什么情况。我可能错了,但你应该手动使用console.log()写入浏览器控制台。我可能错了,但你应该手动使用console.log()写入浏览器控制台。你尝试过: console.log(yourObject) 对
我知道,输出会很混乱,但我有机会看到,如果我用鼠标抓住对象,会发生什么情况。我可能错了,但你应该手动使用console.log()写入浏览器控制台。我可能错了,但你应该手动使用console.log()写入浏览器控制台。你尝试过:
console.log(yourObject)
对象是可拖动元素的位置
在新的chrome控制台中,有深入的对象浏览功能,也许您可以在对象原型中找到您想要的内容。您尝试过:
console.log(yourObject)
对象是可拖动元素的位置
在新的chrome控制台中,有深入的对象浏览功能,也许你可以在对象原型中找到你想要的东西。如果JavaScript正在执行,按开发者工具的Sources选项卡中的Pause图标将停止脚本并显示调用堆栈 如果要调试特定事件侦听器发生时发生的情况(例如,在拖放脚本上),可以通过右键单击页面元素,选择Inspect元素,然后在Elements选项卡的右列中,滚动到底部并查看附加到该元素的事件侦听器来执行此操作。单击特定的侦听器将显示该侦听器的脚本源,您可以在该点添加断点。(请注意,编译后的脚本可能会使其难以理解) 当调查一个页面(无论是我自己的还是第三方页面)的问题时,一个技巧是在我怀疑会触发按钮按下等的脚本上大量地设置断点。然后我在开发人员工具打开的情况下操作该页面,这样当遇到断点时,断点将导致调试停止
如果是您自己的代码,其他技巧是使用
console.log
语句将活动记录到控制台,或调试器
(类似于软件断点)。当然,老式的“警告”对话框生成语句也很有用。如果JavaScript在此时执行,按开发工具的“源”选项卡中的“暂停”图标将停止脚本并显示调用堆栈
如果要调试特定事件侦听器发生时发生的情况(例如,在拖放脚本上),可以通过右键单击页面元素,选择Inspect元素,然后在Elements选项卡的右列中,滚动到底部并查看附加到该元素的事件侦听器来执行此操作。单击特定的侦听器将显示该侦听器的脚本源,您可以在该点添加断点。(请注意,编译后的脚本可能会使其难以理解)
当调查一个页面(无论是我自己的还是第三方页面)的问题时,一个技巧是在我怀疑会触发按钮按下等的脚本上大量地设置断点。然后我在开发人员工具打开的情况下操作该页面,这样当遇到断点时,断点将导致调试停止
如果是您自己的代码,其他技巧是使用
console.log
语句将活动记录到控制台,或调试器
(类似于软件断点)。当然,老式的alert
对话框生成语句仍然很有用。这是正确的答案,但应该注意,当console.log()行在IE中时,页面将无法在IE中运行。应该只用于调试。因此,您建议OP向每个函数添加console.log()
。@nnnn是的。在他需要的每一行代码上。还有更好的方法吗?我会尝试使用元素检查器来查看附加了哪些事件处理程序,或者尝试一些断点,我不确定。我想我假设OP已经知道可以手动将console.log()
添加到每个函数中,但是我想避免这种情况,如果有其他方法来确定哪些函数是为了响应拖动而调用的。这是正确的答案,但是应该注意,当console.log()运行时,页面将无法在IE中运行电话线在那里。应该只用于调试。因此,您建议OP向每个函数添加console.log()
。@nnnn是的。在他需要的每一行代码上。还有更好的方法吗?我会尝试使用元素检查器来查看附加了哪些事件处理程序,或者尝试一些断点,我不确定。我想我假设OP已经知道可以手动将console.log()
添加到每个函数中,但是如果有其他方法来确定哪些函数是为了响应拖动而调用的,我想避免这种情况。