Не обновляются JS скрипты при нажатии F5 в Chrome

342
15 февраля 2018, 17:18

Походу не один я столкнулся с такой проблемой, но ответ в гугле найти не могу. Вообщем суть такая, сохраняю я код скрипта js, нажимаю f5 и f12->sources, в итоге скрипты не обновляются. Объясните, как избавится от этой дряни, не перестать же мне пользоваться хромом или перезапускать браузер ради мелочи.

Answer 1

Обычно в браузерах скрипты и css кешируются.. Поэтому при обновлении страницы так как файл не менялся (тоесть его имя) то может загружаться файл из кеша... Иногда помогает shift+ctrl+r , но бывает и этого недостаточно, поэтому для того что бы браузер понял, что нужно обновить скрипт иногда применяют следующий прием:

<script src="js/table_creator.js?version={version}"></script>

где после каждого изменения скрипта меняют часть адреса после знака "?". Аналогичная ситуация может происходить и со стилями. Хром в этом отношении особо трудно избавить от кеша, тоесть например, как я выше написал shift+ctrl+r должен перезагружать страницу без кеша, но.. этого мало. для обычного пользователя кеширование должно быть .. оно ускоряет повторную загрузку ресурсов-- шрифтов, ну и всего вышеперечисленного. Для разработчика наоборот нужны актуальные скрипты... хотя даже для пользователя, если, например, сервис обновил скрипты, нужны актуальные. поэтому в пути к файлу указывают например время создания файла или его хеш (кто на что горазд). но важно что бы менялось это значение только при изменении файла.

Например в исходном коде VK скрипты следующего вида

<script type="text/javascript" src="/js/cmodules/web/page_layout.js?1172409392">

Со стилями у них аналогично:

<link rel="stylesheet" type="text/css" href="/css/al/common.css?32352845315" />
Answer 2

Попробуйте в DevTools на вкладке Network установить флажок Disable cache.

READ ALSO
Изменить число в строке javascript

Изменить число в строке javascript

Здравствуйте, такая задача: нужно написать функцию, которая будет выводить измененную строку, а именно если мы получаем строку 'foo' -> 'foo1', 'foo000'...

313
Как отловить ошибку правильно?

Как отловить ошибку правильно?

Пытаюсь делать отлов ошибок следующим образом:

252
Как вернуть из async объект

Как вернуть из async объект

У меня есть async функция loadКак мне из неё вернуть объект?

211