Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Загрузка и контроль факта загрузки html в кеш браузера (img.onload не работает) (https://javascript.ru/forum/misc/54751-zagruzka-i-kontrol-fakta-zagruzki-html-v-kesh-brauzera-img-onload-ne-rabotaet.html)

linki 30.03.2015 20:13

Загрузка и контроль факта загрузки html в кеш браузера (img.onload не работает)
 
Есть необходимость загружать html страницу в кеш браузера.

Решаю так:
new Image().src = HTML_URL

Как проконтролировать факт окончания загрузки?
(файл есть, но может загружаться долго)

При загрузке НЕ картинки -- НЕ вызывается onload, только onerror.


p.s.
frame, prefetch, ajax - не подходят.

tsigel 30.03.2015 20:21

linki,
К сожалению через "new Image()" можно скачать только картинку, страницу так не закешировать.

Вообще она и так кешируется если выполнен ряд условий. Сейчас поищу их.

tsigel 30.03.2015 20:24

Посмотрите тут.

linki 30.03.2015 20:25

Цитата:

Сообщение от tsigel
страницу так не закешировать.

Браузер точно загружает в кеш, проверялось в Хроме, Фаирфоксе и Опере 12. Но img.src вызывает onerror, а не onload

linki 30.03.2015 20:26

Цитата:

Сообщение от tsigel
Посмотрите тут.

Там большей частью будут про кэширование ответов бакэнда на nginx )

linki 30.03.2015 20:27

Мне нужно по сути сделать PRELOAD html страницы

tsigel 30.03.2015 20:31

Там 3 статьи не про ngnix хороших

linki 30.03.2015 20:37

Нужен именно PRELOAD html страницы, путем предварительной ее загрузки в кеш браузера.

linki 05.04.2015 10:56

Еще раз попробую.

Загружаю следующую html страницу в кеш браузера так:
new Image().src = HTML_URL

При загрузке НЕ картинки -- НЕ вызывается onload, только onerror. Как проконтролировать факт окончания загрузки?

Vlasenko Fedor 05.04.2015 18:04

Цитата:

Сообщение от linki (Сообщение 365023)
Как проконтролировать факт окончания загрузки?

Пересмотреть технологию к примеру CACHE MANIFEST
или использовать загрузку шаблонов через тег script все зависит от задачи, но так как вы пытаетесь у вас не получится.


Часовой пояс GMT +3, время: 02:52.