Dav*_*nco 6 javascript ajax jquery callback
我正在尝试在JavaScript中重载XMLHttpRequest.*方法,以便网页可以确定是否发生了Ajax请求而没有使用任何侵入式回调.现在,使用大多数JS框架时,这样的工作相对较好:
XMLHttpRequest.prototype.getResponseHeader = function() {
alert('O hai, looks like you made an AJAX request.');
}
Run Code Online (Sandbox Code Playgroud)
但是,有两个捕获:
xmlhttp.open("GET","simple.html",false);有没有什么方法JS可以镜像XMLHttpRequest.open()或任何方式,我可以链接到它.我已经尝试了一百万个范例(工厂,克隆,包装 - 最多导致无限递归),似乎没有任何工作.也许这是不可能的.有任何想法吗?
在重写方法之前,您可以在某个变量中保留对原始变量的引用,然后在您重写的函数中调用该变量:
var temp = XMLHttpRequest.getResponseHeader;
XMLHttpRequest.getResponseHeader = function() { temp.apply(this, arguments); };
Run Code Online (Sandbox Code Playgroud)
这应该可以让您跟踪使用情况,而不会覆盖原始函数提供的功能。
| 归档时间: |
|
| 查看次数: |
2373 次 |
| 最近记录: |