Ответ 1
Пока вы разрабатываете свой script, попробуйте отключить кеш Chrome:
Когда вы перезагружаете страницу, JavaScript теперь должен обновляться.
Мне действительно нравится возможность редактировать javascript в отладчике chrome, однако я считаю, что может быть очень проблематично заставить отладчика повторно извлекать JavaScript с сервера.
Иногда мне нужно как можно скорее закрыть отладчик, и перезагрузка фрейма работает нормально - но в других случаях (когда я не могу определить, при каких условиях это происходит), я должен очистить свой временный интернет-кеш. Иногда я клянусь, что мне нужно полностью закрыть хром, затем очистить кеш, а затем загрузить страницу, прежде чем отладчик наконец покажет мне самую последнюю версию script.
(NB. Кэширование script веб-сервером отсутствует)
Мне было интересно, если кто-нибудь знает быстрый и простой способ сказать отладчику аннулировать все его javascript и снова заново загрузить его на странице перезагрузки?
Пока вы разрабатываете свой script, попробуйте отключить кеш Chrome:
Когда вы перезагружаете страницу, JavaScript теперь должен обновляться.
Это лучший способ, которым я живу... Позаботьтесь, чтобы окно инспектора нужно было открыть, чтобы увидеть это контекстное меню, удерживая кнопку обновления BTW: Обычно я использую Empty cache и hard reload
У него есть еще одно преимущество: он сохраняет все остальные сайты, сохраненные, просто перезагружая и освобождая только этот.
Вы всегда можете очистить определенный файл, выполнив следующие действия:
Если нет:
CTRL+F5
(mac: Command-Shift-R
)Это очень удобно, если у вас есть ресурсы, которые находятся в кадрах, а CTRL+F5
не является принудительным обновлением.
Shift + F5 быстро очищает кеш.
Вот ярлык для DevTools:
Примечание. Обновлено за комментарий Dimi. Они склонны перемещать его, поэтому дайте мне знать или обновите сообщение, если заметите, что оно изменилось.
Для Google хром это не Ctrl + F5. Это Shift + F5, чтобы очистить текущий кеш! Это работает для меня!
Если вы вносите локальные изменения в javascript в Инструменты разработчика, вам необходимо убедиться, что вы отключите эти изменения перед перезагрузкой страницы.
На вкладке "Источники" при открытии script щелкните правой кнопкой мыши в script и выберите "Локальные изменения" в контекстном меню. Это вызывает список скриптов, которые вы сохранили. Если вы увидите это в этом окне, инструменты разработчика всегда будут хранить локальную копию, а не обновлять ее с сервера. Нажмите кнопку "вернуться", затем снова обновите, и вы должны получить новую копию.
Кажется, что отладчик Chrome загружает исходные файлы в память и не отпускает их, несмотря на обновления кеша браузера, т.е. имеет свой собственный кеш, кроме кеша браузера, который не синхронизирован. По крайней мере, это имеет место при работе с исходными сопоставленными файлами (я отлаживаю typescript источники). После успешного обновления кеша браузера и проверки того, что, просматривая непосредственно исходный файл, вы загружаете обновленный файл, но как только вы снова открываете файл в отладчике, он будет продолжать возвращать старый файл независимо от версии из обычного кеша браузера. На самом деле очень неприятно.
Я считаю это ошибкой в хроме. Я использую версию версии 46.0.2490.71 м.
Единственное, что помогает, - перезапустить хром (закрыть все хромовые браузеры).
В Windows Ctrl + Shift + r приведет к перезагрузке script в chrome.
Если файлы, которые вы загружаете, кэшируются, и если внесенные вами изменения не отражаются в коде, есть два способа, которыми вы можете справиться с этим
Очистите кэш как все сказали
Если u хочет кэш, и только файлы необходимо перезагрузить, вы можете перейти на вкладку сети инструмента Dev и очистить все, что было загружено. в следующий раз он не будет загружать его из кеша. вы будете иметь свои последние изменения.
Если вы используете локальный сервер на Apache, вы можете получить то, что похоже на проблемы кэширования. Это случилось со мной, когда у меня был сервер Apache под Vagrant (в виртуальном боксе).
Просто добавьте следующие строки в ваш файл конфигурации (/etc/httpd/conf/httpd.conf
или эквивалент):
#Disable image serving for network mounted drive
EnableSendfile off
Обратите внимание, что стоит посмотреть в файле конфигурации, чтобы увидеть, есть ли EnableSendfile
в on
где-либо еще.
Есть также 2 (быстрых) обходных пути:
Отключение точек останова вызвало загрузку нового script.
По-моему, проще всего работать на "приватном сеансе просмотра" хром, чтобы ваши файлы javascript не поступали из кеша.
Вы также можете использовать это расширение Chrome для быстрого переключения между использованием или без кеша: https://chrome.google.com/webstore/detail/cache-killer/jpfbieopdmepaolggioebjmedmclkbap