Сообщение Firebug Повредиться, как только любой JavaScript Выполняется

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

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

Существует ли способ иметь Firebug (или какой-либо отладчик JavaScript) повреждение каждый раз, когда какой-либо код JavaScript выполняется? Возможно, некоторым образом устанавливать точку останова на каждой строке программно? Или есть ли некоторый другой способ узнать, на какое событие кнопка отвечает (пользователи страницы boh Прототип, jQuery и некоторый пользовательский JavaScript. Я знаю.)

12
задан o.k.w 21 December 2009 в 05:45
поделиться

4 ответа

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

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

.
12
ответ дан 2 December 2019 в 18:19
поделиться

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

2
ответ дан 2 December 2019 в 18:19
поделиться

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

Этот вид будет полезен, если Вы не знаете, какие события связаны сторонним кодом.

.
2
ответ дан 2 December 2019 в 18:19
поделиться

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

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

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

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

.
1
ответ дан 2 December 2019 в 18:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: