Подтвердить что ты не робот

Google Chrome отслеживает ведение журнала консоли разработчика

Я использую console.log лоты в своем javascript для отладки событий перемещения мыши. Проблема im заключается в том, что когда в консоли Chrome новые записи не выполняются.

Лучше всего проиллюстрировано на этих скриншотах:

Первая партия журналов в порядке, потому что ее достаточно большая, чтобы увидеть ее все на экране:

enter image description here

Несколько секунд спустя: enter image description here

Журнал прошел мимо размера окна, требующего от меня прокрутки.

Это затрудняет отладку событий перемещения мыши, потому что я должен переходить на консоль и прокручивать вниз, тем самым добавляя больше записей в журнал.

Итак, мой вопрос: как я могу получить хром, чтобы по существу хвост журнала вместо остановки и потребовать от меня прокрутки.

4b9b3361

Ответ 1

При открытии консоли перетащите полосу прокрутки вниз в нижнюю часть окна и отпустите ее. Он должен выводить результат для вас.

Мне потребовалось несколько попыток заставить его работать в Version 27.0.1438.7 dev-m. Но в Version 27.0.1440.0 canary это произошло не только автоматически, но и каждый раз, когда я пробовал, я мог бы повторно использовать автопрокрутку.

Вы можете скачать Canary из здесь.

Ответ 2

Поведение по умолчанию заключается в том, что Console отслеживает (хвост) журналы, когда они там находятся.

Однако у нас была ошибка в DevTools, где, если вы изменили коэффициент масштабирования (cmd + +), он не работал всегда.

Мы только что зафиксировали, что: https://codereview.chromium.org/180733003/ Вам понадобится канарейка на некоторое время (со дня этого поста), но через 10 недель он спустится до "Стабильного".

Ответ 3

Здесь довольно ужасная ошибка (присутствует в Chrome до тех пор, пока я помню), где, если вы регистрируете какой-либо элемент расширения, как элемент DOM или что-то в этом роде, он смешивается с отображением журнала и заставляет прокрутку останавливаться.

Я решил это, применив немного изобретательности и найдя журнал нарушений, и вам даже не нужно удалять оператор журнала, вам просто нужно сделать его "дружелюбным". Что работает очень часто, я беру любой такой оператор журнала, например

console.log((mouse ? "mouse" : "touch") + " start on", jqtarg[0]);

и оберните его в массив:

console.log([(mouse_not_touch ? "mouse" : "touch") + " start on", jqtarg[0]]);

Вы также можете попробовать сделать другие вещи, пытаясь сделать журнал более доступным для чтения, например, объект (не проверил ни одно из этого строго, он все равно может вызвать раздражающий провал прокрутки)

console.log({"mouse/touch start on": jqtarg[0]});

Исходя из очень небольшого количества тестов, казалось бы, если журнал появляется в буфере журнала как элемент, который может быть непосредственно виден (в отличие от необходимости вручную его вручную открыть), чтобы заставить инспектора выделить элемент в DOM для вас, то он может вызвать "синдром блокировки прокрутки".

Кстати, полезно знать, что если вы повторно регистрируете один и тот же материал повторно, Хром помогает "складывать" их так: (Видишь? Я исправил автопрокрутку, вставив мой журнал в объект! yay!)

enter image description here

Если вам действительно не нужно видеть значения на основе точных координат, печать более грубых значений больше... грубо приведет к более компактному журналу (который все равно даст вам разумную обратную связь с подсчетами).

Обновление: иногда ничего из этого не работает. Иногда вам просто не повезло с этим, и вам просто нужно очистить все журналы, которые вам не нужны, и занести в журнал минимальный объем информации, чтобы предотвратить перегрузку и не дать прокрутить вниз.