Сочетание клавиш Chrome для приостановки выполнения скрипта


48

Есть ли в Google Chrome комбинация клавиш, которая прервет выполнение скрипта? (Аналогично нажатию кнопки ||«Приостановить выполнение сценария» на панели «Сценарии инструментов разработчика».)

Я хотел бы использовать Dev Tools для проверки элемента в состоянии наведения мыши; mouseleaveкод будет очевидно работать , если я пытаюсь на самом деле нажмите на кнопку паузы!

Ответы:


56

Хотя я не нашел точного решения этой проблемы, я нашел однострочник, который можно поместить на страницу (или вставить в консоль Javascript) для достижения моей цели:

jQuery(window).keydown(function(e) { if (e.keyCode == 123) debugger; });

Это заставит выполнение быть приостановлено, когда вы нажмете F12.

( debuggerэто оператор JavaScript, который вызывает точку останова.)


Обновление: Dev Tools имеет много встроенных ярлыков (нажмите F1для получения списка), но вы должны сосредоточиться в окне Dev Tools, чтобы они работали. Приостановка выполнения скрипта F8(при просмотре вкладки «Источники», начиная с Chrome 45) или Ctrl+ /.

Приведенная выше строка может быть полезна, если вам нужно сосредоточиться на странице, прежде чем делать паузу.


6
F8 работает только когда вы находитесь на странице «Источники» в DevTools (Chrome 40)
netvope

1
CTRL + / работает под Linux или что-то еще? Поскольку CTRL + \, кажется, работает под Windows, и согласно другим это будет CMD + \ для MAC.
Джабрахам

1
Тот же эффект, но не требующий jQuery:window.addEventListener('keydown', e => { if (e.keyCode === 123) debugger })
pau.moreno

иногда горячие клавиши событий закрывают элемент, который вы хотите проверить, setTimeout(function() { debugger; }, 1000)здесь помогает
cyptus

14

Справочные списки сочетаний клавиш Google для «Пауза / возобновление выполнения сценария»:

  • F8или Ctrl+ \(Windows)
  • F8или Cmd+ \(Mac)

Существуют более простые способы осмотра вещей в нечетных состояниях, таких как зависание или активный режим. Сначала найдите узел DOM на панели «Элементы» в Chrome Dev Tools. Теперь вы можете либо щелкнуть правой кнопкой мыши узел и посмотреть «Состояние элемента силы» в контекстном меню, либо выбрать узел и посмотреть на вкладке «Стили» и найти значок с пунктирной рамкой с указателем мыши в правом верхнем углу. (рядом со значком + / плюс, который позволяет добавить новое правило CSS к element.styleвыбранному элементу).

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


3
F8 не работает в главном окне браузера, только в окне Dev Tools. Использование Force Element State не помогает, когда скрипт выполняет прослушивание событий (а не только CSS).
josh3736

3
F8 работает в главном окне браузера, но у вас должно быть окно Dev Tools, открытое на вкладке Source в фоновом режиме.
изменить

8

Я написал небольшое расширение для Chrome, которое позволяет вам нажимать кнопку «Пауза» на клавиатуре, чтобы приостановить выполнение JavaScript

Как получить его:

Использование:

  1. Держите инструменты разработчика Chrome открытыми
  2. Нажмите pause/breakна клавиатуре

1
@Flu, я добавил его в Интернет-магазин Chrome. Наслаждайтесь
SpareBytes

Это отлично работало - я смог сделать паузу, чтобы я мог динамически проверять HTML-код на странице. Использование инструментов разработчика не работало, потому что код был удален кодом, когда он потерял фокус.
Кенни Эвитт

На моей клавиатуре нет кнопки «Пауза / разрыв», поэтому мне пришлось сопоставить ее с другой клавишей. Для меня не сразу было очевидно, что вам нужно удерживать нажатой новую комбинацию клавиш, пока вы нажимаете кнопку «Сохранить комбинацию».
Джаспер Сити

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.