Как использовать сетевой отладчик Chrome с перенаправлениями

379

Сетевой отладчик Chrome дает мне прекрасное представление обо всех ресурсах HTTP, загружаемых для страницы. Но он очищает список всякий раз, когда загружается новая HTML-страница верхнего уровня. Это очень затрудняет отладку страниц, которые автоматически перезагружаются по той или иной причине (запуск сценария или 300 ответов).

Могу ли я сказать Chrome не очищать сетевой отладчик при загрузке новой страницы верхнего уровня? Или я могу вернуться и посмотреть на сетевые ресурсы предыдущей страницы?

Или я могу как-то заставить Chrome сделать паузу перед загрузкой новой страницы, когда я не контролирую страницу, которую пытаюсь отлаживать, и которая выполняет перенаправление? Это часть танца OpenID, которая идет наперекосяк, поэтому сочетание SSL и учетных данных чрезвычайно затрудняет отладку с помощью инструментов командной строки.

Leopd
источник
Как этот дубликат получил больше голосов, чем опубликованный за 1 месяц до этого? stackoverflow.com/q/10703944/632951
Pacerier
6
@Pacerier Похоже, что тот, на кого вы ссылались, не был опубликован вами, но, скорее всего, причина в том, что в названии отсутствует «Chrome». Когда люди ищут что-то, связанное с Chrome, их поиск обычно включает в себя ключевое слово Chrome. «Инструменты разработчика Google» невероятно неоднозначны.
Джоэл Меллон

Ответы:

527

Это изменилось с v32, спасибо @Daniel Alexiuc & @Thanatos за их комментарии.


Ток (≥ v32)

В верхней части вкладки «Сеть» DevTools есть флажок для включения функции «Сохранить журнал». Если этот флажок установлен, сетевой журнал сохраняется при загрузке страницы.

Вкладка Chrome v33 DevTools Network: сохранение журнала

Маленькая красная точка слева теперь предназначена для полного включения и выключения входа в сеть.


Старые версии

В более старых версиях Chrome (v21 здесь), в нижней части вкладки «Сеть» есть небольшая, активная красная точка.

Вкладка Chrome v22 DevTools Network: сохранение журнала при навигации

Если вы наведите курсор мыши на него, он скажет вам, что он будет «Сохранить журнал при навигации», когда он будет активирован. Он держит обещание.

bfncs
источник
1
В версии 32 он все еще есть, но переместился в верхнюю часть сетевой панели.
Даниэль Алексюк
4
На самом деле, он сейчас находится сверху, но называется «Сохранить журнал» и является флажком. Смущает, что все еще есть красный значок записи, но это только для того, чтобы войти вообще.
Танатос
1
Спасибо за комментарий к изменению, я просто обновил ответ соответственно.
Bfncs
@ruben, интерфейс теперь действительно выглядит немного по-другому, но все еще есть флажок «Сохранить журнал» в верхней части вкладки сети: i.imgur.com/fhSDYSz.png
bfncs
14
@ rubenlop88 Убедитесь, что вы не фильтруете документы , иначе они там не сохранятся. Вы можете проверить их специально на вкладке Другое .
Алекс
173

Я не знаю, как заставить Chrome не очищать сетевой отладчик, но это может выполнить то, что вы ищете:

  1. Откройте консоль JS
  2. window.addEventListener("beforeunload", function() { debugger; }, false)

Это приостановит Chrome перед загрузкой новой страницы, нажав точку останова.

Мэтт Йорк
источник
55
Это был неправильный ответ на вопрос, но на самом деле это то, что я ищу. Спасибо.
isaaclw
2
Это так ловко. Я пришел сюда в поисках решения «пауза перед перенаправлением», и вот оно. Принятый ответ легче запомнить, но это рад.
Джоэл Меллон
19
Это чрезвычайно полезно, потому что chrome не показывает тело ответа сервера, если браузер перенаправляет сразу после получения ответа.
Кристоф Домби
23

Просто обновите ответ @bfncs

Я думаю, что в Chrome 43 поведение немного изменилось. Вам все еще нужно включить журнал сохранения, чтобы видеть, но теперь перенаправление показывается на вкладке «Другие», когда загруженный документ отображается под документом.

Это всегда смущает меня, потому что у меня много сетевых запросов и я фильтрую их по типу XHR, Doc, JS и т. Д. Но в случае перенаправления вкладка Doc пуста, поэтому я должен догадаться.

С.Ф.
источник
1
Ты герой, которого я искал!
Мэтью Хаворт
23

Другим отличным решением для отладки сетевых вызовов перед перенаправлением на другие страницы является выбор beforeunloadточки останова события.

Таким образом вы гарантируете разрыв потока непосредственно перед его перенаправлением на другую страницу, таким образом все сетевые вызовы, сетевые данные и журналы консоли все еще там.

Это решение лучше всего подходит для проверки ответа на вызовы.

Точка останова события Chrome beforeunload

PS: Вы также можете использовать точки останова XHR, если хотите остановиться прямо перед определенным вызовом или любым вызовом (см. Пример изображения) XHR точка останова

Ofear
источник
2
Это замечательно. Благодаря этому loadсобытию мы можем остановиться в начале и легко установить точку останова. Спасибо!
Леон - Хан Ли