Как просмотреть вызовы функций JavaScript по мере их возникновения - PullRequest
20 голосов
/ 15 апреля 2011

Можно ли просматривать вызовы функций JavaScript в консоли JavaScript браузера? Я знаю, что вы можете просматривать XHR, но вы можете просматривать вызовы функций?

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

Я что-то упустил или это невозможно?

Ответы [ 3 ]

11 голосов
/ 15 апреля 2011

То есть, вы хотите просматривать вызовы JS в реальном времени?

Расширение Firebug в Firefox предлагает, что (http://getfirebug.com/javascript).

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

Встроенные инструменты разработчика Google Chrome предлагают меньшее подмножество - в зависимости от того, что вы хотите, может быть полезна вкладка «Профиль»?

Для чего именно нужно отслеживать эту функцию JS? Мы можем порекомендовать вам лучший инструмент в зависимости от ваших конкретных потребностей.

8 голосов
/ 15 апреля 2011

Зарегистрируйтесь в Firebug Profiler , вы можете использовать его, чтобы увидеть детализацию происходящего без необходимости вручную добавлять console.log инструкции.

Чтобы использовать профилировщик, простоперейдите на вкладку Консоль и нажмите кнопку «Профиль».Затем используйте ваше приложение немного или перезагрузите страницу, а затем снова нажмите кнопку «Профиль».Затем вы увидите подробный отчет , в котором показано, какие функции были вызваны и сколько времени заняла каждая из них.

2 голосов
/ 15 апреля 2011

Нет, если вы явно не прикрепите эту информацию к DOM.

Однако вы можете установить точки останова в инструментах разработчика для некоторых браузеров, таких как Safari, Chrome и Firebug для Firefox.

...