2016-01-28 5 views
0

У меня есть сайт с javascript, и когда я перемещаю мышь на этом веб-сайте, срабатывает функция. Мне нужно отлаживать весь код javascript шаг за шагом, когда он выполняется. Мне нужно выяснить, какая функция вызывается (и параметры тоже).функция отладки javascript с параметрами

Как я могу это сделать - что я должен использовать для этого? Любой отладчик реального времени?

EDIT: Теперь я вижу, что скрипт загружен с другого URL-адреса (мой сайт - mydomain.tld, второй загрузчик скриптов от seconddomain.tld). Второй скрипт обфускается/минимизируется, и он контролирует клики на веб-сайте (при нажатии на него запускается одна функция). Возможно ли с помощью javascript на моем сайте вызывать функцию в этом втором скрипте? Если да, то как, пожалуйста.

+0

Надеюсь, вы не будете работать на сжатой версии js. Другое. Вы можете использовать отладчик и разместить точку останова. Используйте инструмент разработчика Chrome. – brk

ответ

1

Мне нужно выяснить, какая функция вызывается

В консоли (Firebug, разработчик инструментов и т.д.), вы можете нажать кнопку Профиль или использовать команды:

console.profile(); 
//... 
console.profileEnd(); 

И он покажет, какие функции были вызваны во время профилирования.

Тогда вы можете использовать команду debugger; внутри функций, как все упоминают.

+0

Я попробовал это с [этой скрипкой] (https://jsfiddle.net/ktkyrzL0/), и консоль только выдает * Профиль 'Профиль 1' завершен. *. –

+0

@ E.Sundin jsFiddle не является хорошим местом для использования и тестирования команд консоли, потому что код работает в iFrame. –

+0

Я тестировал его локально, и он показывает тот же результат, что и скрипка. Не могли бы вы привести пример, который, как вы знаете, работает? –

0

Просто введите команду debugger в любом месте, и Chrome остановится там, когда пройдет это место.

Не забывайте держать отладчик открытым нажатия F12

0

вы можете отслеживать событие перемещения мыши по

<script> $(document).mousemove(function(event){console.log(event);}); </script>

и открытого окна консоли в браузере при перемещении мыши он будет отображать все вещи ...

1

Если сайт использует jQuery, то вы можете перейти к источнику функции с помощью Chrome DevTools. Перейдите на боковую панель прослушивателя событий на панели элементов, разверните интересное событие и нажмите ссылку на источник.

E.g. input # new-todo имеет внутренний прослушиватель jQuery, но DevTools разрешил его и покажет ссылку на пользовательскую функцию вне рамки. Event listener sidebar

Смежные вопросы