IIS / AngularJS Single Page Application-как предотвратить кэширование страниц одного индекса.html при навигации в приложении
Мне нужно сделать мое приложение (SPA), чтобы не кэшировать индекс.html через действия навигации по страницам.
Мое приложение имеет перебор кэша, но оно работает только тогда, когда я обновляю (перезагружаю) индекс.формат html.
Как заставить приложение не кэшировать индекс.HTML при навигации в мое приложение и обновить индекс.html на каждой странице навигации клик или действие?
Вот мой существующий индекс сниппета.html код:
<!DOCTYPE html>
<html lang="en" manifest="sw.appcache">
<head>
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
Св.файл appcache содержание
CACHE MANIFEST
NETWORK:
*
Редактировать:
Следующее дополнение к тегу script в моем индексе.силами HTML-страницу, чтобы перезагрузить каждый раз, когда изменения URL-адреса.
window.onhashchange = function() {
var parts = window.location.href.split("#");
window.location.href = window.location.protocol + "//" + window.location.host + "?t=" + (new Date()).getTime() + "#" + parts[1];
}
1 ответ:
Мой опыт работы с этим в PHP заключается в том, что вы никогда не сможете контролировать, решит ли браузер кэшировать вашу страницу или нет, несмотря на все причудливые заголовки, которые вы используете.
Лучший способ-манипулировать URL-адресом с помощью параметра запроса.
Вместо http://example.com/mypage.html
Использование: http://example.com/mypage.html?timestampГде метка времени генерируется динамически во время выполнения и может быть случайным числом или любой динамически уникальной строкой. желание.
Это также хороший трюк, чтобы предотвратить браузеры от кэширования CSS, JS, изображений и т.д.
Comments