【发布时间】:2010-11-26 20:04:55
【问题描述】:
我正在尝试调试一些特别讨厌的 Javascript。具体来说,我试图确定哪些函数正在发出某些 http 请求。由于 .js 文件的剪切大小和质量普遍较差,这并不像手动搜索文件那么容易。
我对 Fiddler 和 Firebug 有模糊的经验,这是这些应用程序内置的功能吗?如果可能的话,有没有更好的方法来做到这一点?
【问题讨论】:
标签: javascript http httprequest
我正在尝试调试一些特别讨厌的 Javascript。具体来说,我试图确定哪些函数正在发出某些 http 请求。由于 .js 文件的剪切大小和质量普遍较差,这并不像手动搜索文件那么容易。
我对 Fiddler 和 Firebug 有模糊的经验,这是这些应用程序内置的功能吗?如果可能的话,有没有更好的方法来做到这一点?
【问题讨论】:
标签: javascript http httprequest
无论文件的大小或质量如何,您都应该能够使用 grep 搜索关键字“XMLHttpRequest”并在使用它的位置设置断点。
您还可以在页面加载时,在调用其他任何内容之前,对 XMLHttpRequest 全局进行猴子补丁:
var open = XMLHttpRequest.open;
XMLHttpRequest.open = function(){
console.log(this, arguments);
return open.apply(this, arguments);
};
或者更复杂的东西。
【讨论】:
在 Google Chrome 的开发版本中,您现在可以破解任何 XHR 上的代码。 (扳手 > 工具 > 开发者工具)
【讨论】:
是的!在 firebug 中,转到顶部菜单上的“Net”,然后从下面的菜单中选择“XHR”,以查看在访问页面期间进行的所有 ajax 调用。这将显示大量信息,例如调用的持续时间和请求/响应标头。
【讨论】: