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

How to view all JavaScript functions called in real time?

本文关键字:JavaScript 函数 何查看 实时 调用      更新时间:2023-09-26

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

也许在firebug控制台选项卡中使用'profile'按钮可以给你一个被触发的函数的指示。此外,您可以告诉firebug的控制台显示xmlhttp请求(展开firebug屏幕顶部的'console')。之后,如果ajax请求被触发,它应该在控制台中可见。在这样一个请求的'post'选项卡中,您可以通过查看参数来推断触发请求的函数。

我认为你想要的是Chrome的一个功能:

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

  • 在子树修改时中断
  • 属性修改
  • 节点移除时中断

在你的情况下,也许在body标签上设置"在子树修改上中断"会这样做吗?

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

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

我会做一个大搜索,并使用匹配函数名称的正则表达式替换所有文件(如" function (.*)'((.*)'){ "),并使用它在函数的开头插入console.log(functionName)

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

这似乎有点疯狂,但它应该工作。我已经用这个方法调试了一个Director Lingo项目。

显然,确保在进行替换之前备份整个项目。

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

寻找:

function (.*){

替换为:

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

我经常使用Firefox插件JavaScript去混淆器

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