Могу ли я проверить любой XmlHttpRequest, исполняемый на странице, не добавляя addEventListener каждый из них? я пытаюсь добавить
document.addEventListener("loadend"...)
но ничего не произошло. Похоже, запросы не имеют глобальных событий?
// ОТРЕДАКТИРОВАНО //
Мне нужно обнаружить новые элементы, которые загружаются с помощью ajax. Отличное решение для этого - здесь
Использование MutationObserver



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я думаю, вам стоит пересмотреть свой дизайн. Почему ты хочешь сделать это. Есть ли лучшие варианты?
Однако, если вы действительно хотите это сделать, вы можете «взломать» его, перезаписав стандартный объект XmlHttpRequest своим собственным. Вам нужно будет сделать это до того, как будет инициирован какой-либо XmlHttpRequest, чтобы он работал для всех объектов.
//store the original XMLHttpRequest in a variabele so you can use it yourself
var originalXMLHttpRequest = XMLHttpRequest;
//Overwrite the original object with your own in which you create an instance of the original object, add an event listner to it and return that.
XMLHttpRequest = function() {
var req = new originalXMLHttpRequest();
req.addEventListener("loadend", function() {
console.info("loadend event fired");
});
return req;
};
//Test if it works
httpReq = new XMLHttpRequest();
httpReq.open("GET", "https://stackoverflow.com/");
httpReq.send();Возможно, вы захотите изучить объект MutationObserver. Я думаю, что это был бы лучший инструмент для работы.
Именно то, что нужно! Спасибо!
Сделайте так, чтобы ваши XMLHttpRequest запускали пользовательское событие, когда они были готовы, а затем прослушивали эти события.
var r = new XMLHttpRequest();
r.onload = function() {
e = new CustomEvent('myLoadend', {detail: {foo: 'bar'}});
document.dispatchEvent(e);
}
И послушайте те события:
document.addEventListener("myLoadend"...)
Я не могу получить доступ к исходному событию.
Какое оригинальное событие? Может быть, вы имеете в виду просьбы?
Да. Пишу код для андроид приложения, индивидуальный дизайн для сайта. Невозможно изменить исходный css или js.
Спасибо, попробую. Я пишу собственный css для просмотра веб-приложений Android по целевому сайту. Все хорошо, но сайт не может иметь классы или идентификатор или другие вещи для выбора css. Итак, все ссылки просто <a> :) И я использую javascript для добавления классов. Но на сайте есть загружаемый с помощью ajax новый контент, который я не могу обработать с помощью своего скрипта, который запускается при полной загрузке страницы.