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

Сообщение Firebug для разрыва так же быстро, как и любой Javascript

Я унаследовал кучу кода, который делает неожиданные вещи, когда я нажимаю на некоторые элементы <button>.

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

Есть ли способ отключить Firebug (или любой отладчик Javascript) всякий раз, когда выполняется код any javascript? Может быть, каким-то образом можно настроить точку разрыва на каждой строке программно? Или есть какой-то другой способ узнать, на какое событие реагирует кнопка (пользователи страниц бот-прототип, jQuery и некоторые пользовательские Javascript. Я знаю.)

4b9b3361

Ответ 1

Просто нажмите кнопку Pause на панели Firebug (в левом верхнем углу, две желтые вертикальные линии, если выбрана вкладка Script) - и она остановится при первой строке JS.

Но это прекратит выполнение JS на ANY-событии - так что если у вас есть кнопка, которая ловит движение мыши и щелчок мыши - я не смогу остановиться при щелчке мыши, так как Script будет остановлен при перемещении мыши каждый время, когда вы пытаетесь переместить мышь над этой кнопкой. Я предлагаю вам просто вставить alert() в подозрительные места - после некоторых итераций вы найдете нужную строку (где возникает ошибка).

Ответ 2

Закройте интернет-браузер и откройте его снова. "Перерыв на следующий" начнет работать снова. В противном случае Firebug просто игнорирует этот параметр через некоторое время и не прерывает, а запускает javascripts для всех событий, не предупредив вас.

Ответ 4

Если вы хотите посмотреть, какие события настроены на странице, вы также можете попробовать Eventbug.

Ответ 5

Если это общая проблема отладки, вы можете использовать веб-инспектор в Safari/Chrome. Дополнительный бонус заключается в том, что вы можете вывести следующий код в свой код JavaScript, чтобы вытащить отладчик:

...
debugger; // Will trigger the debugger
...

В противном случае вы можете установить точки останова, условные точки останова, паузу при следующем выполнении и все обычные трюки. Некоторые интересные видео доступны здесь.

В ответ на предложение alert. Я бы рекомендовал использовать console.log или console.dir, если у вас есть доступ к отладчику. Вы получите больше информации, не блокируя выполнение script. Кроме того, не забывайте, что console.log может принимать несколько параметров, чтобы вы могли красиво распечатывать данные, вам не нужно ограничивать себя одной строкой, например alert.