如何获取网页的JavaScript调用跟踪?

时间:2010-06-22 22:36:04

标签: javascript trace call

有人能告诉我如何在不同的JavaScripts之间获得通话跟踪吗?

假设我有一个HTML页面加载一些JavaScript文件,这些文件又可能从服务器加载其他JavaScript文件。有没有办法可以跟踪从其他JavaScript页面加载哪个JavaScript页面?

我使用了Google Chrome速度跟踪器扩展程序,并且可以获取浏览器的事件跟踪,通常会注册JavaScript评估事件,但并非所有已注册的事件都具有指定其他脚本触发评估的属性。

我也使用过Firebug,但它似乎在调试JavaScript时更有用,而不是我想要的。


假设HTML文件包含标记<script type="text/javascript" src="A.js">,并且在A.js中,它会调用B.js中定义的函数。在此函数中,调用了C.js中的另一个函数,因此将下载C.js(假设C.js尚未下载和加载)。

我只是想知道是否有可能找到A.js-->B.js-->C.js的“通话跟踪”,以及A.jsB.js和{{1}的“下载顺序”如果最初没有下载它们。

是的,可以通过手动浏览代码来调查这一点,但我正在尝试了解一个相当大的网站的.js文件的关系,这些文件可能包含太多的JavaScript文件需要手动处理。 / p>

感谢。我希望这可以澄清这个问题。

3 个答案:

答案 0 :(得分:1)

'加载其他javascript文件'是什么意思?

加载JavaScript文件的标准方法是将<script src="file.js"></script>标记添加到HTML页面。

了解正在加载哪些文件的最快方法是浏览代码并查找执行某种<script>标记创建的任何内容。

答案 1 :(得分:1)

答案 2 :(得分:1)

1.functionLogger.addLoggingToNamespace(窗口);参考How to get Javascript Function Calls/Trace at Runtime

2. http://stacktracejs.com/

中的.stacktrace.js

3.启用Chrome记录(http://www.chromium.org/for-testers/enable-logging)并过滤您使用'CONSOLE(\ d +)'的行获取的日志文件。

或尝试diyism_trace_for_javascript.htm:

https://code.google.com/p/diyism-trace/downloads/list