Подтвердить что ты не робот

Можно ли остановить javascript с Firebug без использования контрольных точек?

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

Ответ 3

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

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

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

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

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

    • Отменить изменение атрибута: останавливает выполнение script, когда атрибут элемента добавляется, изменяется или удаляется.
    • Перерыв на дочернее дополнение или удаление: останавливает выполнение script при добавлении или удалении дочернего элемента node.
    • Снятие удаленных элементов: останавливает выполнение script, когда сам элемент удаляется.

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

Ответ 4

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

Ответ 5

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

Ответ 6

в зависимости от используемой библиотеки анимации, может быть метод "остановить все анимации" - jQuery.stop(), например. как вы обрабатываете анимацию?

Ответ 7

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

Ответ 8

Лучший способ исправить это - перейти к выпадающему списку HTML, который находится рядом с вкладкой HTML в firebug. Отмените выделение "выделить изменения" и "прокрутить изменения для просмотра", и это должно позволить вам проверять исполняемый код html и css. Надеюсь, вы, ребята, хотели это сделать.

Ответ 9

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

Ответ 10

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