Комплексный JavaScript. Что меня зовут?
Проект, над которым я работаю, использует jQuery.
У меня есть серия вызовов Ajax, которые выполняются с загрузкой() других фрагментов HTML, которые, в свою очередь, загружают() другие фрагменты. Все это путает. Я не писал код.
Есть ли какой-нибудь инструмент, который позволит мне пройти вызов, чтобы я мог понять, что вызывает метод? любые инструменты браузера, которые помогут мне понять это?
Разрешение:
В конце концов это было вызвано тем, что в код на стороне сервера вводили < script src= "...". Ваши предложения действительно помогли - это была комбинация этих и временная настройка Ajax для синхронизации вместо async, которая помогла мне отследить проблему.
$.ajaxSetup({
async: false
});
Ответы
Ответ 1
Firebug способен на это.
Когда отладчик приостановлен, Firebug показывает стек вызовов, который представляет собой набор вложенных вызовов функций, которые в настоящее время запущены и ждут возврата.
Стол вызовов представлен как компактная полоска кнопок на панели инструментов, каждая из которых имеет имя функции в стеке. Вы можете щелкнуть любую кнопку, чтобы перейти к строке, где эта функция приостановлена, и посмотреть на локальные переменные внутри этой функции.
Ответ 2
Chrome также имеет довольно злобный отладчик, встроенный в Инструменты разработчика, без дополнительных дополнений/расширений.
Ответ 3
+1 для firebug. вы можете приостановить отладчик, чтобы пройти стек вызовов
http://getfirebug.com/javascript
Ответ 4
Вы также можете попробовать Opera Dragonfly (доступный в любой новой версии Opera). Я нахожу его менее усовершенствованным, чем Firebug, но некоторые ошибки гораздо более явные под ним.