如何查看实时调用的所有JavaScript函数?

时间:2011-08-13 09:08:26

标签: javascript

我想知道一个网站如何使用AJAX重新加载它的内容。因此,我想看看实时调用什么JS函数,因为我无法弄清楚哪个函数负责动态重新加载页面。如何在FF,Chrome,Opera或IE中实时查看所有已执行的函数JS?

6 个答案:

答案 0 :(得分:11)

也许使用firebug控制台选项卡中的“配置文件”按钮可以指示触发的功能。此外,您可以告诉firebug的控制台显示xmlhttp请求(在firebug屏幕的顶部展开'console'。之后,如果ajax请求触发,它应该在控制台中可见。在这样的请求的'post'选项卡中您可以推断触发请求的功能,查看参数。

答案 1 :(得分:3)

我认为您想要的是Chrome中的一项功能:

找到正在重新加载的元素并右键单击, 从上下文菜单中选择检查, 然后右键单击元素的html(在底部的firebugish窗格中), 在上下文菜单中有以下选项:

  • 打破子树修改
  • 打破属性修改
  • 中断节点删除

在您的情况下,可能会在body标签上设置“中断子树修改”吗?

有关chrome中令人敬畏的新开发功能的文章:http://www.elijahmanor.com/2011/08/7-chrome-tips-developers-designers-may.html

答案 2 :(得分:1)

在FF中安装firebug。请访问此链接:http://getfirebug.com/

答案 3 :(得分:0)

我会使用与函数名称匹配的正则表达式(类似“function (.*)\((.*)\){”)进行大搜索并替换所有文件,并使用它在开头插入console.log(functionName)功能

因此,您搜索function (.*)\(.*\){并将其替换为function \1 (\2){ console.log("\1");(注意:正则表达式很可能是错误的,因为我没有检查它们 - 您需要进行一些测试以使其正确)。

看起来有点疯狂,但应该有效。我已经使用该方法来调试Director Lingo项目。

显然,请确保在更换之前备份整个项目。

答案 4 :(得分:0)

我经常使用Firefox附加JavaScript Deobfuscator

https://addons.mozilla.org/en-us/firefox/addon/javascript-deobfuscator/

答案 5 :(得分:0)

如果您有权访问源代码,请给出答案。使用此正则表达式,您可以执行所有函数调用的console.log:

搜索:

function (.*){

替换为:

function \1 { console.log\(("\1")\);