Можно ли остановить JavaScript с помощью Firebug без использования точек останова? - PullRequest
18 голосов
/ 13 апреля 2010

Возможно ли с помощью Firebug остановить javascript нажатием кнопки или сочетанием клавиш вместо его остановки путем установки точки останова?

Зачем мне это делать? У нас очень динамичный сайт с множеством анимаций. Было бы очень полезно, если бы я мог просто остановить сценарии в тот момент, когда анимация выполняет то, что я хочу проверить. Это было бы намного быстрее, чем возиться с точками останова.

Ответы [ 10 ]

7 голосов
/ 15 августа 2013

Вот как я это сделал, с веб-консоли (не блокнота) запустите:

window.addEventListener("keydown", function() {debugger;})

Затем вернитесь на вкладку отладчика. Когда вы сфокусируете документ и нажмете клавишу, браузер приостановит JS.

4 голосов
/ 14 апреля 2010

В Firebug есть кнопка паузы. Нажав на это то, что вы ищете.

3 голосов
/ 13 мая 2016

Firebug имеет различные способы остановить выполнение скрипта без установки точек останова в определенных строках. Эти параметры называются Функции выключения .

В вашем случае я вижу два соответствующих варианта:

  1. Разбить JavaScript на следующей выполненной строке
    На панели Script имеется кнопка Break On Next (*Break On Next* button), которая позволяет остановить выполнение скрипта при следующем выполнении оператора JavaScript. Эту функцию также можно включить с помощью сочетания клавиш Ctrl + Alt + B .

    Итак, просто нажмите сочетание клавиш, как только анимация окажется в том месте, когда вы хотите ее проверить.

  2. Перерыв на мутацию HTML
    На панели HTML есть кнопка Break On Mutate (*Break On Mutate* button), которая позволяет остановить выполнение скрипта при следующей мутации HTML.
    Есть также более тонкие параметры, чтобы остановиться на мутации определенного элемента, которые доступны в контекстном меню элементов. Эти опции:

    • Break On Изменение атрибута : Останавливает выполнение скрипта при добавлении, изменении или удалении атрибута элемента.
    • Разорвать дочернее добавление или удаление : останавливает выполнение скрипта при добавлении или удалении дочернего узла.
    • Удаление элемента «Break On» : Останавливает выполнение скрипта при удалении самого элемента.

    В вашем случае Break At Attribute Change может быть правильным выбором, если анимация изменяет CSS в атрибуте style элемента.

2 голосов
/ 14 апреля 2010

Если вы знаете, где происходит что-то, что вы хотите проверить, то что не так с точками останова? Кроме того, вы можете использовать в коде ключевое слово debugger или добавить в свой код операторы console.log / debug / warn / info. (Вы можете отключить консольный объект для тех сред, в которых его нет).

1 голос
/ 22 октября 2013

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

1 голос
/ 14 апреля 2010

, в зависимости от используемой вами библиотеки анимации, может существовать метод «остановить все анимации» - например, .Stop () в jQuery. как вы справляетесь с анимацией?

1 голос
/ 13 апреля 2010

Исходя из того, что вы описываете, я предполагаю, что логирование консоли javascript из вашего кода могло бы помочь вам лучше всего. Проверить http://getfirebug.com/wiki/index.php/Console_API.

0 голосов
/ 20 ноября 2013

Если веб-сайт постоянно перезагружает контент с вашего сервера, вы можете переключиться на панель «Сеть». В контекстном меню есть запись «Разорвать на XHR», которая, если отмечена, остановит ваш скрипт, когда он попытается получить новый контент.

0 голосов
/ 26 сентября 2013

Самый простой способ - установить расширение Firefox «PrefBar». Там вы можете добавить флажок «JavaScript». Если вы отключите его, javascript остановится.

0 голосов
/ 30 сентября 2012

Лучший способ исправить это - перейти в раскрывающийся список HTML, который находится рядом с вкладкой HTML в Firebug. Снимите флажок «выделить изменения» и «прокрутить изменения для просмотра», и это должно позволить вам проверить выполняемый код HTML и CSS. Я надеюсь, что вы, ребята, хотели это сделать.

...