Я отлаживаю большую сложную веб-страницу с большим количеством JavaScript, JQuery, Ajax и т. д. Где-то в этом коде я получаю запрос Rouge (я думаю, что это пустой img), который вызывает корень сервера. Я знаю, что его нет в html или css, и я почти уверен, что где-то в коде JavaScript делается запрос, но я не могу его отследить. Я привык использовать firebug, VS и другие инструменты отладки, но я ищу способ узнать, где это выполняется, чтобы я мог найти строку, вызывающую нарушение, среди примерно 150 файлов .js.
Есть ли у кого-нибудь предложения по инструменту отладки, который мог бы выделить, где в Javascript-запросах к внешним ресурсам выполняются запросы к внешним ресурсам, помимо огромного количества выводов на консоль? Есть другие идеи?
Пошаговая отладка займет много времени - я должен быть осторожен с тем, что я использую (источник jQuery - уф!), И я могу пропустить решающий момент



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Как насчет использования отладчика пошаговых сценариев в Firebug?
Я также думаю, что это может быть очень интересным усовершенствованием Firebug, поскольку можно добавить точку останова для вызовов AJAX.
Если это HTTPRequest, отправленный на веб-сервер, я бы рекомендовал использовать плагин TamperData в Firefox. Просто установите плагин, запустите данные о вмешательстве, и каждый отправленный запрос будет предлагать сначала вмешаться / продолжить / прервать работу.
Посетите эта страница на сайте Mozilla
Я пробовал это. Это классная надстройка, но она не сообщает мне, откуда в JavaScript поступает запрос.
Вы говорили об источнике jQuery ...
Предполагая, что запрос проходит через jQuery, поместите оператор отладки в функцию get () источника jQuery, которая запускается, если URL-адрес - '/'. Может быть, тогда вы сможете определить это по стеку вызовов.
Вы можете увидеть все HTTP-запросы, выполненные через JavaScript, с помощью консоли Firebug.
Если вы хотите отслеживать все HTTP-запросы вручную, вы можете использовать этот код:
$(document).bind('beforeSend', function(event, request, ajaxOptions)
{
// Will be called before every jQuery AJAX call
});
Для получения дополнительной информации см. Документация jQuery по событиям AJAX.
Только предположение, но вы используете ThickBox? Он пытается загрузить изображение прямо в начале кода.
Первое, что мне нужно сделать, это проверить, является ли этот запрос Rouge запросом Ajax или запросом загрузки изображения через панель Net в Firebug.
Если это Ajax, то вы можете перегрузить функцию $ .ajax своей собственной, провести трассировку и включить запрошенный URL-адрес перед передачей исходному $ .ajax.
Если это изображение, оно не идеально, но если вы можете ответить на запрос изображения с помощью спящего режима на стороне сервера (т.е. файла php, который просто спит в течение 20 секунд), вы можете повесить приложение и получить начальное предположение о том, где проблема может быть.
Это должно быть отмечено тегом jQuery.