Как я могу сказать, когда ресурс веб-страницы кэшируется?

Существует ли путь в JavaScript для меня, чтобы сказать, является ли ресурс уже в кэше браузера?

Мы оснащаем часть наших клиентских просмотров страницы так, чтобы мы могли надеть лучшие данные, как быстро страницы загружаются для наших пользователей. Новые пользователи прибывают в наш сайт, много ресурсов (JS, CSS, изображения) кэшируются браузером, таким образом, их начальная буква pageview будет медленнее, чем последующие.

Прямо сейчас те данные смешаны, таким образом, трудно сказать начальной загрузке страницы из последующего pageview, что это медленно по некоторой другой причине. Я любил бы перекрестный браузер способ проверить, чтобы видеть, запущен ли кэш уже, так, чтобы я мог выделять два вида pageview и проанализировать их отдельно.

8
задан William Pietri 2 March 2010 в 22:21
поделиться

2 ответа

Не существует API JavaScript для проверки того, кэширован ли ресурс. Я думаю, что лучшее, что вы можете сделать, это проверить, сколько времени потребовалось для загрузки ресурсов, и объединить те, у которых время загрузки меньше.

Вверху страницы:

<script>var startPageLoad = new Date().getTime();</script>

На каждом ресурсе:

<img src="foo.gif" onload="var fooLoadTime = startPageLoad - new Date().getTime()">
<script src="bar.js" onload="var barLoadTime = startPageLoad - new Date().getTime()">

При сообщении времени загрузки:

var fooProbablyCached = fooLoadTime < 200; // Took < 200ms to load foo.gif
var barProbablyCached = barLoadTime < 200; // Took < 200ms to load bar.gif

Вам может потребоваться использовать события onreadystatechange вместо onload в IE.

4
ответ дан 6 December 2019 в 00:55
поделиться

Для этого вам понадобится плагин. Firebug может сообщить вам об этом на вкладке «NET» после его установки (для Firefox). Сам JavaScript не может видеть HTTP-трафик браузера.

-1
ответ дан 6 December 2019 в 00:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: