Как получить список сетевых запросов, выполненных с помощью HTML
Как я могу получить список сетевых запросов, используя Javascript, сделанный HTML, как показано в chrome devtools.
Например:
![enter image description here]()
Это devtools для google.com. Я хочу, используя javascript, получить все эти запросы в списке. Это возможно? если да, то как?
Ответы
Ответ 1
В некоторых браузерах реализована версия еще не стандартная, API синхронизации ресурсов, в котором вы можете получить часть этой информации.
Некоторые браузеры могут иметь некоторую информацию, доступную для расширений браузера, как часть поддержки их инструментов для разработчиков, но для этого потребуется установка пользовательского расширения, а не что-то, что можно сделать с обычной веб-страницы.
Для очень специфичных операций, в которых вы управляете кодом вызова или знаете код вызова, можно измерить некоторые вещи. Например, если вы знаете, что все вызовы ajax проходят через одну конкретную функцию, вы можете подключить эту функцию и обработчики завершения и контролировать все вызовы ajax.
Ответ 2
Вы можете использовать Resource Timing API для получения всей релевантной информации (поиска доменов, хитов кэшей, перенаправления и т.д.) о каждом загружаемом ресурсе на вашем веб-сайте.
Вы можете прочитать об этом здесь. Существует также bookmarklet, который генерирует водопад с загрузкой страницы с помощью этого API.
API синхронизации времени доступен в Chrome, Chromium, Chrome Mobile и IE10. Команда Firefox похоже, работает над ней.
Ответ 3
Вы можете получить URL-адреса запросов, которые будут выполняться при загрузке страницы, но получение статистических данных о времени загрузки нереально. Элементы запроса, которые создают такие запросы ресурсов, такие как script
, link
или img
.
Например:
var urls = Array.prototype.map.call(
document.querySelectorAll("link, img, script, iframe"), // Elements which request external resources
function(e) { // Loop over and return their href/src
return e.href || e.src;
}
);