2014-12-13 4 views
0

Я пытаюсь выполнить последний измененный JavaScript после его изменения, однако браузеры настаивают на использовании кэшированных данных. Я использую shift + f5 для переопределения кэшированных данных и загрузки новой копии с сервера. Он работает для этого случая.Как заставить браузер игнорировать кешированные данные и перезагрузить его

Предположим, что я запустил сайт и его использовали постоянно.

После изменения файла JavaScript. Ни один из пользователей не сможет увидеть изменения (для тех, кто ввел сайт перед изменением). Итак, как я могу заставить всех клиентов стереть или игнорировать текущие кэшированные данные и загрузить весь сайт.

Я нашел обходное решение. Если я изменяю имя файла, браузер загружает его. Что неудивительно. Есть ли другое решение (желательно более профессиональное), чтобы браузер игнорировал кэшированные данные?

ответ

1

Скажите, что ваш файл <script src = "javascript-code.js"></script>, если вы его отредактируете и хотите, чтобы он автоматически перезагрузился на всех других клиентских браузерах, вы можете переименовать его. <script src = "javascript-code.js?rnd=123"></script>. Изменение значения в строке запроса заставит браузеры, которые кэшировали JS, получить новую копию с сервера.

+0

Должен ли я изменить rnd каждый раз, когда я меняю файл? – user2102266

+0

Вы не можете контролировать кеш браузера клиента. Если браузер обналичил JS, единственный способ - обмануть браузер, подумав, что ему нужно перезагрузить файл. Добавление бессмысленной строки запроса в конце может сделать трюк. И да, каждый раз, когда вы делаете изменения, вы должны дать другое значение? Rnd = <ваше значение здесь> –

Смежные вопросы