Как заставить отладчик скриптов Chrome перезагружать javascript?

Мне очень нравится возможность редактировать javascript в отладчике chrome, однако я считаю, что может быть действительно проблематично заставить отладчик повторно получить JavaScript с сервера.

Иногда мне нужно зайти так далеко, просто закрыть отладчик и перезагрузить фрейм, но в других случаях (я не могу определить, при каких условиях это происходит) мне нужно очистить свой временный интернет-кеш. Иногда я клянусь, что мне нужно полностью закрыть Chrome, затем очистить кеш и затем загрузить страницу, прежде чем отладчик наконец покажет мне самый последний сценарий.

(NB. Веб-сервер не кеширует скрипт)

Мне было интересно, знает ли кто-нибудь о быстром и простом способе сказать отладчику, чтобы он аннулировал весь свой javascript и извлекал его заново при перезагрузке страницы?


person Chris Fewtrell    schedule 16.08.2011    source источник
comment
Иногда мне даже приходится перезапускать IIS Express, чтобы все загрузилось правильно.   -  person Chris O    schedule 13.12.2013


Ответы (15)


Пока вы разрабатываете свой скрипт, попробуйте отключить кеш Chrome.

Когда вы перезагружаете страницу, JavaScript должен обновиться.


Chrome около 2011 г.

Открыть настройкиОтключить кеш


Chrome около 2018 г.

«Открыть  Отключить кеш

Вы также можете получить к нему доступ на вкладке сети:

Вкладка

person adrianbanks    schedule 17.08.2011
comment
Итак, применяется ли это постоянно или только при открытом отладчике? - person PilotBob; 22.02.2012
comment
только когда открыты инструменты разработчика - person Karolis; 17.03.2012
comment
У меня был этот набор все время, и теперь внезапно я застрял с определенным файлом. Кто-нибудь найдет решение? - person IronicMuffin; 14.05.2012
comment
@IronicMuffin См. Мой ответ, чтобы принудительно обновить определенный ресурс - person Steve Tauber; 13.06.2012
comment
Это просто добавило мне нескольких лет в мою жизнь. Я пробовал CMD + SHIFT + R, но это не помогло. Спасибо - person Kevin Zych; 28.02.2013
comment
Если изображения заблокированы для вас, вот как отключить кеш stackoverflow.com/questions/5690269/ - person Nick; 06.05.2013
comment
Я предполагаю, что это отключит весь кеш. Было бы неплохо иметь Disable JavaScript cache вариант! - person jozxyqk; 17.03.2014
comment
Тем, кто задается этим вопросом совсем недавно, обратите внимание, что меню настроек находится вне меню с тремя вертикальными точками в Инструментах разработчика. Там вы сможете установить флажок, чтобы отключить кеш. - person Scott C Wilson; 01.06.2017
comment
Чтобы найти это, мне пришлось прокрутить страницу вниз мимо трех других групп до сети, затем отключить кэш - третий вариант вниз. - person Lucas W; 10.04.2018
comment
Но почему на Земле это не по умолчанию? Я имею в виду, кто хочет использовать кеш при разработке? - person atevm; 02.07.2018
comment
Я отключаю кеш через вкладку «Сеть», и мой JS начал перезагружаться, спасибо, adrianbanks - person Rocky Royalson; 27.02.2019
comment
Реальная история: 9 лет спустя он наткнулся на статью о переполнении стека, которую он никогда не знал, что искал все время. После того, как он так долго несли тяжелый груз разочарования, осознание того, что он теперь находится в состоянии полного удовлетворения, чуть не подняло его со стула. Он вдохнул новое дыхание, первое в своей новой жизни. И он пошел дальше. Спасибо @adrianbanks за вдохновение. - person abaumer; 05.02.2020
comment
при работе с js убедитесь, что он не кешируется сервером, разработчики wordpress будьте осторожны, когда-нибудь на сервере есть js-файл кеша, пока вы боретесь с браузером и злоупотребляете google lol - person user889030; 09.05.2020

введите описание изображения здесь

Контекстное меню, показанное выше, доступно, щелкнув правой кнопкой мыши / нажав и удерживая кнопку «перезагрузить», когда открыты Инструменты разработчика Chrome.

Мне лучше всего подходит пустой кеш и жесткая перезагрузка.

Еще одно преимущество: при выборе этого варианта все остальные открытые вкладки и данные веб-сайтов остаются нетронутыми. Он только перезагружает и очищает текущую страницу.

person Bishoy Hanna    schedule 08.05.2013
comment
Это особенно полезно, потому что его легко объяснить. У меня была проблема с клиентом, который не видел изменения, сделанные на его веб-сайте. Нажмите F12, затем щелкните правой кнопкой мыши кнопку перезагрузки, выберите «Очистить кэш» и «Жесткая перезагрузка». Я закончил, спасибо за комментарий :-) - person Gull_Code; 01.04.2014
comment
Это лучшая хромированная деталь :), приятель в любое время. - person Bishoy Hanna; 01.04.2014
comment
Спасибо! Я пытался понять, почему кнопка «Обновить» иногда показывала мне меню, а иногда - нет. - person iconoclast; 26.11.2014
comment
У меня не было проблем с Ctrl + Shift + R при перезагрузке файлов Javascript, но это не вернуло бы обновленный контент, который обслуживался в файлах HTML. Пустой кеш и жесткая перезагрузка сделали свое дело. - person S. Baggy; 06.07.2015
comment
Лучший способ сделать это - использовать этот пустой кеш и выполнить жесткую перезагрузку. - person hoogw; 11.07.2017
comment
Ух ты! Кто бы мог подумать, все эти годы и всегда был такой вариант. (Извините за бессмысленный комментарий, но пришлось). - person Nicholas Petersen; 20.03.2018

Вы всегда можете очистить определенный файл, выполнив следующие действия:

  1. Открыть инструменты разработчика
  2. Перейдите на вкладку "Источники".
  3. Найдите свой скрипт / изображение / файл
  4. Проверьте правую панель, чтобы увидеть, обновлен ли ваш файл

Если не:

  1. Щелкните правой кнопкой мыши ресурс на левой панели и выберите «Открыть ссылку в новой вкладке».
  2. Принудительно перезагрузите ресурс описанными выше методами. (См. Пример @Bishoy Hanna)

Это очень удобно, если у вас есть ресурсы, которые находятся во фреймах, и CTRL+F5 не обновляет их принудительно.

person Steve Tauber    schedule 12.06.2012
comment
правда. нажатие CTRL + F5 = Очистить кеш обновить текущую страницу - person STEEL; 23.03.2013
comment
У меня нет вкладки "Ресурсы". - person Mike W; 30.10.2017
comment
@MikeW он был переименован в Источники - я обновил ответ - person Steve Tauber; 01.11.2017

Shift + F5 быстро очищает кеш.

person Peter Kelly    schedule 16.08.2011
comment
ctrl-f5, боюсь, не режет горчицу. Старый файл javascript остается в отладчике. - person Chris Fewtrell; 17.08.2011

Вот ярлык для DevTools:

  1. F12, чтобы открыть Chrome DevTools.
  2. F1, чтобы открыть настройки DevTools.
  3. Установите флажок Отключить кеш (пока DevTools открыт), как показано ниже:

введите описание изображения здесь

Примечание: Обновлено согласно комментарию Дими. Они склонны перемещать его, поэтому дайте мне знать или обновите сообщение, если вы заметите, что он изменился.

person Tony L.    schedule 31.03.2016

Для Google Chrome это не Ctrl + F5. Это Shift + F5 для очистки текущего кеша! Меня устраивает !

person RPDeshaies    schedule 08.03.2013
comment
Почему ? Я не понимаю, в чем разница между этим и комментарием. В конце концов, самый полезный вопрос будет вверху поста. - person RPDeshaies; 07.05.2013
comment
Спрашивающий ни разу не упомянул Ctrl-F5, поэтому по определению ваш ответ не является ответом на вопрос, заданный спрашивающим, это скорее комментарий, исправление. другим народам ответы, и к нему следует относиться так же. - person Edward A; 08.05.2013

В Windows Ctrl + Shift + r принудительно перезагрузит скрипт в Chrome.

person Vijay Nandwana    schedule 19.12.2016

Если вы вносите локальные изменения в javascript в инструментах разработчика, вам необходимо убедиться, что вы отключили эти изменения перед перезагрузкой страницы.

На вкладке «Источники» при открытом сценарии щелкните его правой кнопкой мыши и выберите в контекстном меню параметр «Локальные модификации». Появится список скриптов, в которые вы сохранили изменения. Если вы видите это в этом окне, Инструменты разработчика всегда сохранят вашу локальную копию, а не обновят ее с сервера. Нажмите кнопку «Вернуть», затем снова обновите, и вы должны получить новую копию.

person Steve K    schedule 24.01.2013

Кажется, что отладчик Chrome загружает исходные файлы в память и не отпускает их, несмотря на обновления кеша браузера, т.е. у него есть собственный кеш, кроме кеша браузера, который не синхронизирован. По крайней мере, так обстоит дело при работе с файлами с сопоставлением источников (я отлаживаю источники машинописного текста). После успешного обновления кеша браузера и проверки этого путем прямого перехода к исходному файлу вы загружаете обновленный файл, но как только вы снова откроете файл в отладчике, он продолжит возвращать старый файл независимо от версии из обычного кеша браузера. Действительно, очень раздражает.

Я бы счел это ошибкой в ​​хроме. Использую версию Version 46.0.2490.71 м.

Единственное, что помогает, - это перезапуск Chrome (закройте все браузеры Chrome).

person David Fahlander    schedule 22.10.2015

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

  1. Очистите кеш, как все сказали

  2. Если вам нужен кэш и нужно перезагрузить только файлы, вы можете перейти на вкладку сети в инструменте разработки и очистить все, что было загружено. в следующий раз он не загрузит его из кеша. у вас будут последние изменения.

person iamshravan    schedule 28.11.2014

Если вы используете локальный сервер на Apache, у вас могут возникнуть проблемы, похожие на проблемы с кешированием. Это случилось со мной, когда у меня был сервер Apache, работающий под Vagrant (в виртуальном боксе).

Просто добавьте следующие строки в свой файл конфигурации (/etc/httpd/conf/httpd.conf или аналогичный):

#Disable image serving for network mounted drive
EnableSendfile off

Обратите внимание, что стоит поискать в файле конфигурации, не установлено ли EnableSendfile на on где-нибудь еще.

person MattCochrane    schedule 23.10.2015

Также есть 2 (быстрых) обходных пути:

  1. Используйте режим инкогнито при отладке, закройте окно и снова откройте его.
  2. Удалите историю просмотров
person Mister Verleg    schedule 15.01.2016

Деактивация точек останова вызвала загрузку нового скрипта.

person Mike W    schedule 30.10.2017

На мой взгляд, проще всего работать в «закрытом сеансе просмотра» Chrome, чтобы ваши файлы javascript не поступали из кеша.

person scottbiker    schedule 01.12.2017

Вы также можете использовать это расширение Chrome для быстрого переключения между использованием или отключением кеша: https://chrome.google.com/webstore/detail/cache-killer/jpfbieopdmepaolggioebjmedmclkbap

person antoine129    schedule 01.10.2013