Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-跟踪任何xmlhttprequest_Javascript_Dom_Xmlhttprequest - Fatal编程技术网

Javascript-跟踪任何xmlhttprequest

Javascript-跟踪任何xmlhttprequest,javascript,dom,xmlhttprequest,Javascript,Dom,Xmlhttprequest,我可以检查页面上的任何XmlHttpRequest、可执行文件而不添加addEventListener吗?我尝试添加 document.addEventListener("loadend"...) 但是什么也没发生。 看起来请求没有全局事件 //编辑// 我需要检测由ajax加载的新元素。 很好的解决方案- 使用我认为你应该重新考虑你的设计。你为什么要这样做。有更好的选择吗 但是,如果您真的想这样做,您可以通过使用自己的对象覆盖标准XmlHttpRequest对象来“破解”它。您必须在启动任何

我可以检查页面上的任何XmlHttpRequest、可执行文件而不添加addEventListener吗?我尝试添加

document.addEventListener("loadend"...)
但是什么也没发生。 看起来请求没有全局事件

//编辑//

我需要检测由ajax加载的新元素。 很好的解决方案-


使用

我认为你应该重新考虑你的设计。你为什么要这样做。有更好的选择吗

但是,如果您真的想这样做,您可以通过使用自己的对象覆盖标准
XmlHttpRequest
对象来“破解”它。您必须在启动任何
XmlHttpRequest
之前执行此操作,以使其适用于所有对象

//将原始XMLHttpRequest存储在变量库中,以便您自己使用它
var originalXMLHttpRequest=XMLHttpRequest;
//用您自己的对象覆盖原始对象,在其中创建原始对象的实例,向其添加事件列表器并返回该列表。
XMLHttpRequest=函数(){
var req=新的原始XMLHttpRequest();
请求addEventListener(“loadend”,函数(){
log(“loadend事件已激发”);
});
返回请求;
};
//测试它是否有效
HttpRequest=新的XMLHttpRequest();
httpReq.open(“GET”https://stackoverflow.com/");

httpReq.send()我认为你应该重新考虑你的设计。你为什么要这样做。有更好的选择吗

但是,如果您真的想这样做,您可以通过使用自己的对象覆盖标准
XmlHttpRequest
对象来“破解”它。您必须在启动任何
XmlHttpRequest
之前执行此操作,以使其适用于所有对象

//将原始XMLHttpRequest存储在变量库中,以便您自己使用它
var originalXMLHttpRequest=XMLHttpRequest;
//用您自己的对象覆盖原始对象,在其中创建原始对象的实例,向其添加事件列表器并返回该列表。
XMLHttpRequest=函数(){
var req=新的原始XMLHttpRequest();
请求addEventListener(“loadend”,函数(){
log(“loadend事件已激发”);
});
返回请求;
};
//测试它是否有效
HttpRequest=新的XMLHttpRequest();
httpReq.open(“GET”https://stackoverflow.com/");

httpReq.send()使您的
XMLHttpRequest
在完成时触发自定义事件,然后侦听这些事件

var r = new XMLHttpRequest();
r.onload = function() {
    e = new CustomEvent('myLoadend', {detail: {foo: 'bar'}});
    document.dispatchEvent(e);
}
听听这些事件:

document.addEventListener("myLoadend"...)

让您的
XMLHttpRequest
s在完成时触发一个自定义事件,然后侦听这些事件

var r = new XMLHttpRequest();
r.onload = function() {
    e = new CustomEvent('myLoadend', {detail: {foo: 'bar'}});
    document.dispatchEvent(e);
}
听听这些事件:

document.addEventListener("myLoadend"...)

谢谢,我会试试的。我根据目标站点为android应用程序web视图编写自己的css。一切都很好,但网站不能有一个类或id或其他css选择的东西。所以,所有链接都是:)我使用javascript添加类。但该站点有一个ajax加载新内容,我无法用脚本处理,脚本从页面加载完成开始。您可能需要查看
MutationObserver
对象。我认为这将是一个更好的工作工具。这正是所需要的!非常感谢。谢谢,我会试试的。我根据目标站点为android应用程序web视图编写自己的css。一切都很好,但网站不能有一个类或id或其他css选择的东西。所以,所有链接都是:)我使用javascript添加类。但该站点有一个ajax加载新内容,我无法用脚本处理,脚本从页面加载完成开始。您可能需要查看
MutationObserver
对象。我认为这将是一个更好的工作工具。这正是所需要的!非常感谢。我无法访问原始事件。哪个原始事件?也许你是指那些要求?是的。我为android应用程序编写代码,为网站定制设计。无法更改原始css或js。我无法访问原始事件。哪个原始事件?也许你是指那些要求?是的。我为android应用程序编写代码,为网站定制设计。无法更改原始css或js。