Потому что вы делаете одностраничное приложение. Поэтому правильным решением должно быть:
(1) установить физическую страницу (то есть главную страницу) в «Cache-Control: No-cache». Физическая страница должна быть небольшой, так как логические страницы динамически загружаются JavaScript, поэтому загрузка физической страницы должна быть быстрой.
(2) для частичной страницы (то есть логической страницы), каждый раз меняйте имя папки при выпуске новой сборки
Например: при развертывании новой версии предположим, что физическая страница является индексом.html
Внутри index.html, все файлы шаблона JavaScript, css и angularJs находятся в папке - {{TimeStamp}}. Поскольку index.html не имеет кеша, браузер всегда будет получать последний index.html. Поскольку все JS, css и другие HTML-файлы шаблонов находятся в другой папке из последней версии. , поэтому браузер загрузит все файлы из новой папки, а не из кеша.
вы можете создать процесс сборки, чтобы сделать это автоматически: искать все js, css-файлы в index.html и заменять имя ресурса/** с активным - {{TimeStamp}}/**, а затем копировать все файлы для актива - {{TimeStamp}} из папки с активами
Теперь у вас нет проблемы с кепкой головной боли, но браузер использует локальный кеш, чтобы ускорить вашу веб-страницу.
(3) для файла шаблона angularJs, так как он также загружен JS, , поэтому мы настоятельно рекомендуем использовать относительный путь (связанный с текущим JS-кодом), чтобы получить его. некоторые примеры кода JS как это:
function _getCurrentJSPath() {
var scripts = document.getElementsByTagName("script");
var currentFile = scripts[scripts.length - 1].src;
var currentPath = currentFile.substr(0, currentFile.lastIndexOf('/')) + "/";
return currentPath;
}
...
templateUrl: _getCurrentJSPath() + 'currencyField.html',
Вы посмотрели на [это] (http://stackoverflow.com/questions/7248111/how-to-prevent-content-being-displayed-from-back-forward-cache-in-firefox)? Вы пытаетесь по-прежнему использовать BFCache для этих партикулов или допустимо полностью отключить использование BFCache? – Charlie
Я действительно хочу использовать BFCache, я просто хочу, чтобы во время разработки иногда рассказывал Firefox, чтобы очистить кеш и перезагрузить определенные (или все) частичные. – GDorn