@rapidum_alder

Как попросить Браузер клиент перезагрузить JavaScript?

Возник вопрос. Я тут заменил некоторые настройки для ajax в одном скрипте и увидел что большинство работают со старыми настройками.
Конечно со временем их кеш почиститься, но можно сделать пометку Web - клиенту что данный файл нужно перезагрузить?

Я знаю пока только 1 способ эту проблему обойти, изменить название скрипта, но может есть более правильный способ?
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
Aleksandr-JS-Developer
@Aleksandr-JS-Developer
Бери и делай
старое-доброе
<script src="./path/to/some/js/file.js?v123123"></script>

добавить параметры к запросу и браузер перестанет его кэшировать. Но это, конечно, не выход)

Никак вы не сможете позачищать кэш, остаётся только запасатся слоями абстракции, которые позволят перенаправить старые запросы и ждать, пока "носители кэша" не изведутся)

Ладно, а если серьёзно, то вам надо немного дополнить заголовки запросов. подробнее
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
delphinpro
@delphinpro
frontend developer
Я знаю пока только 1 способ эту проблему обойти, изменить название скрипта

Не название, а URL, по которому этот скрипт загружается.
И это единственный вариант.
Для изменения URL достаточно поменять любой get-параметр.
<script src="/js/main.js?v=любая_хрень"></script>

"Любая_хрень" может быть, например, временем последней модификации файла, или хешем этого файла, или вручную прописываться.
Ответ написан
@Mellorn
Можно не изменять название скрипта, но изменить URL для загрузки этого скрипта. Типа:
<script src="https://example.com/js/myscript.js?v=2"></script>


С точки зрения браузера это совершенно другой адрес, а значит, что скрипт будет загружен, а не взят из кеша.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы