Как получить список сетевых запросов, выполненных с помощью 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; 
    }
);