Использование текста! плагин, есть ли способ заставить RequireJS перезагружать файл, а не возвращать кэшированные данные?принудительный текст RequireJS! для перезагрузки
ответ
RequireJS будет кэшировать только файл за запрос. Перезагрузка страницы приведет к ее повторному запуску. Если вы видите что-то другое, это потому, что:
- Либо у вас есть кеширование на вашем сервере.
- или ваш браузер кэширует запрос. Вы можете, конечно, отключить это в своем браузере.
Если вы хотите, чтобы браузеры каждый раз выбирали чистый файл, вы должны иметь заголовок без кэша для этих ресурсов на вашем сервере.
, чтобы обеспечить загрузку файлов браузером с сервера, можно попытаться вызвать их со случайной сгенерированной строкой запроса - например, /Some-path-to-file/MyJSfile.js?v=TIMESTAMP – shershen
@shershen Don ' Думаю, вы можете сделать это с помощью require.js – ggozad
@ggozad, вы можете добавить параметр GET ко всем запросам модуля, сделанным с помощью requirejs, используя requirejs.config ({urlArgs: 'getparam}) - это можно использовать для разрыва кеширования браузера –
Я думаю, что вы могли бы добавить новую функцию кэширования html5, предоставляя манифест кэша: http://www.html5rocks.com/en/tutorials/appcache/beginner/
, то вы могли бы использовать requirejs «domReady», чтобы получить надлежащее событие нагрузки: http://requirejs.org/docs/api.html#pageload
и затем слушать соответствующую событию (код взят из первой ссылки):
window.applicationCache.addEventListener('updateready', function(e) {
if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
// Browser downloaded a new app cache.
if (confirm('A new version of this site is available. Load it?')) {
window.location.reload();
}
} else {
// Manifest didn't changed. Nothing new to server.
}}, false);
в этот момент, когда вы обновляете urlArgs вы получите новые JS-файлы и с явной кэш-е ile вы получите новые html-файлы
Не могли бы вы предоставить ссылку на плагин? Вы что-то пробовали? Неужели это так не получилось? –
плагин http://requirejs.org/docs/api.html#text – nicholas
Нет, ничего не происходит, это на самом деле так, как должно быть. Если вы загружаете текстовый файл, любые последующие запросы для этого файла возвращают первоначально загруженные данные. Я ищу нечетный случай, когда этот файл мог быть изменен и должен быть обновлен. – nicholas