Я запускаю сайт, основанный на сайтах Google. Эти страницы веб-сайта могут содержать изображения и фреймы на других веб-страницах. Используя API-интерфейс performance.timing
, я смог узнать, сколько времени требуется для рендеринга страницы:
window.performance.timing.responseEnd - window.performance.timing.navigationStart;
window.performance.timing.loadEventStart - window.performance.timing.domLoading;
Я сохранил их как букмарклеты, чтобы я мог нажать букмарклет на любой веб-странице.
Используя performance.memory
я хотел бы знать размер всех ресурсов, загружаемых на какую-либо конкретную веб-страницу. Как мне это сделать?
Я считаю, что использование PerformanceResourceTiming
- ваш лучший выбор здесь. В документах:
Интерфейс
PerformanceResourceTiming
позволяет извлекать и анализировать подробные данные синхронизации сети в отношении загрузки ресурсов приложения.
Таким образом, суммирование всех данных этих артефактов даст общий размер активов на сайте:
var res = performance.getEntriesByType('resource');
var totalSize = res.reduce((size, item) => {
size += item.decodedBodySize;
return size;
}, 0);
Это получит все записи для PerformanceResourceTiming
и decodedBodySize
свойство decodedBodySize
.