Отладка событий JavaScript с Firebug

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

Действительно ли возможно так или иначе установить точку останова на, например, событие щелчка элемента с идентификатором registerButton, или найдите где-нибудь, какая функция связывается с тем событием?

Я нашел дополнение Firefox JavaScript Deobfuscator, который показывает, в настоящее время выполнял JavaScript, который хорош, но код, который я должен отладить, использует jQuery, таким образом, существуют загрузки вызовов функции даже на самом простом событии, таким образом, я не могу использовать это также.

Там какой-либо отладчик сделан специально для jQuery?

Делает кто-либо знает некоторый инструмент, который возвращает уменьшенный JavaScript в форматировавший код как поворот function(){alert("aaa");v=3;} назад в

function() {
   alert("aaa");
   v = 3;
}
22
задан Sebastian Zartner 15 January 2015 в 22:20
поделиться

4 ответа

Хорошо это могло бы все быть слишком много проблемы, чем это стоит, но похоже, что у Вас есть три вещи сделать:

  1. De-minify источник. Мне нравится этот сетевой инструмент за быстрое и грязное. Просто вставьте свой код и нажмите кнопку. Никогда не подводил меня, даже на самом броском из JavaScript.

  2. Все редакторы связей события jQuery направляются к "jQuery.event.add" (вот то, на что это похоже в несозданном источнике), таким образом, необходимо найти, что метод и установил точку останова там.

  3. Если Вы достигли настолько далеко, все, что необходимо сделать, осматривают стек вызовов в точке останова для наблюдения, кто звонил что. Обратите внимание, что, так как Вы во внутреннем месте в библиотеке, которую необходимо будет проверить, некоторые выскакивают (так как вызов кода "jQuery.event.add" было наиболее вероятным просто другие функции jQuery).

Обратите внимание, что 3) требует Firebug для FF3. Если Вы похожи на меня и предпочитаете отлаживать с Firebug для FF2, можно использовать старое arguments.callee.caller.toString() метод для осмотра стека вызовов, вставляя как многие ".caller"s по мере необходимости.


Править: Кроме того, см., "Как отладить привязку события Javascript/jQuery с FireBug (или подобный инструмент)".

Вы можете сходить с рук:

// inspect    
var clickEvents = jQuery.data($('#foo').get(0), "events").click;
jQuery.each(clickEvents, function(key, value) {
    alert(value) // alerts function body
})

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

16
ответ дан 29 November 2019 в 05:31
поделиться

Сначала замените, уменьшил jQuery или любой другой источник, который Вы используете с форматированным. Другой полезный прием, который я нашел, использует профилировщика в поджигателе. Шоу профилировщика, какие функции выполняются и можно нажать один и пойти туда для установки точки останова.

4
ответ дан 29 November 2019 в 05:31
поделиться

Можно использовать debugger управляйте где угодно в файле JavaScript. Когда хиты интерпретатора, что statment, если отладчик доступен (как Firebug) затем, это инициировано

0
ответ дан 29 November 2019 в 05:31
поделиться

найдите строку и поместите точку останова. Затем перезагрузите сайт / страница. Затем поджигатель автоматически приостановит выполнение оператора, когда точка останова будет поражена.

0
ответ дан 29 November 2019 в 05:31
поделиться
Другие вопросы по тегам:

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