Как пройти код JavaScript в отладчике Google Chrome, как прекратить выполнение скрипта, если я не хочу продолжать? Единственный способ, который я нашел, это закрыть окно браузера.
Нажатие «Обновить эту страницу» запускает остальную часть кода и даже отправляет формы, как если бы вы нажимали F8 «Продолжить».
ОБНОВЛЕНИЕ :
При нажатии F5 (Обновить) во время приостановки скрипта:
- Google Chrome (v22) запускает скрипт. Если скрипт отправляет HTTP-запрос, отображается HTTP-ответ на этот запрос. Исходная страница не обновляется.
- IE 9 просто зависает. Однако в IE есть опция «Остановить отладку», которая при нажатии (при условии, что вы не нажимали F5 ранее) продолжает запускать сценарий вне отладчика.
- Firebug ведет себя идентично Chrome.
Закрытие, а затем повторное открытие окна браузера - это не всегда самый простой способ, потому что это уничтожит состояние сеанса браузера, и это может быть важно. Все ваши точки останова также потеряны.
ОБНОВЛЕНИЕ (январь 2014) :
Обновить во время отладки:
- Chrome v31: позволяет запускать сценарии и останавливается на дальнейших точках останова (но не отправляет ajax-запросы), затем обновляется.
- IE 11: обновление ничего не делает, но вы можете нажать F5, чтобы продолжить.
- Firefox v26: позволяет запускать сценарии, но не останавливается на дальнейших точках останова, отправляет запросы ajax, а затем обновляет.
Вид прогресса!
Перейдите на ту же страницу во время отладки:
- Chrome v31: такой же, как Refresh.
- IE 11: сценарии прекращаются, начинается новый сеанс браузера (аналогично закрытию и открытию снова).
- Firefox v26: ничего не происходит.
Также Juacala предложил эффективный обходной путь. Например, если вы используете jQuery, запустите delete $ из консоли остановит выполнение, как только встретится любой метод jQuery. Я протестировал его во всех вышеперечисленных браузерах и могу подтвердить, что он работает.
ОБНОВЛЕНИЕ (март 2015) :
Наконец, после более чем 2-х лет и почти 10 тысяч просмотров правильный ответ дал Александр К. В Google Chrome есть собственный диспетчер задач, который может завершить процесс вкладки, не закрывая саму вкладку, сохраняя все точки останова и другие вещи без изменений.
Я даже дошел до BrowserStack.com, чтобы протестировать его в Chrome v22, и обнаружил, что это работает даже в то время.
Обходной путь Juacala все еще полезен при отладке в IE или Firefox.
ОБНОВЛЕНИЕ (январь 2019) :
Наконец-то в Chrome Dev Tools добавлен правильный способ остановить выполнение скрипта, что приятно (хотя и немного скрыто). Обратитесь к ответу Джеймса Гентеса за подробностями.
debugger;
в консоль инструментов dev, и он сразу же положит вещи в отладчик и остановит скрипт.