Меню

Console log javascript не работает

Console.log вообще не работает

Часть кода не работает, и я пытаюсь определить, в чем проблема, но console.log() не регистрирует никаких результатов в инструментах Chrome Dev, я делаю это правильно?

ИЗМЕНИТЬ ПОЛНЫЙ КОД ДОБАВЛЕНО

Некоторые биты полного кода (см. Выше) ссылаются на другие файлы JS, и код не возвращает ошибок при запуске с этими файлами. После устранения неполадок я вижу сообщение консоли перед функцией прокрутки, но я не вижу сообщения консоли в функции прокрутки.

8 ответов

Я чувствую себя немного глупо, но пусть это станет уроком для всех . Убедитесь, что вы выбрали правильный выбор!

По сути, консоль ничего не регистрировала, потому что этот конкретный фрагмент кода пытался захватить область прокрутки моего окна, хотя на самом деле мой код был настроен по-другому для прокрутки всего DIV. Как только я изменился:

Консоль начала регистрировать правильные сообщения.

Рассмотрим более прагматичный подход к вопросу «делать это правильно».

Если оба этих log вывода выведены правильно, то, скорее всего, проблема существует в вашем объявлении var. Чтобы отладить это, рассмотрите возможность разбить его на несколько строк:

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

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

В моем случае все сообщения консоли не отображались, потому что я оставил строку в текстовом поле «фильтр».

Удалите фильтр, нажав X, как показано:

Похоже, вы либо скрыли журналы JavaScript, либо указали, что хотите видеть только ошибки или предупреждения. Откройте Инструменты разработчика Chrome и перейдите на вкладку Консоль. Внизу вы хотите убедиться, что JavaScript отмечен, а также убедиться, что у вас выбрано «Все», «Журналы» или «Отладка».

На изображении выше у меня отмечены JavaScript, Сеть, Логирование, CSS и прочее и выбрано «Все».

Другая потенциальная проблема может заключаться в том, что ваша функция $(window).scroll() не заключена в функцию .ready() (как задокументировано здесь ) :

При вставке кода в JSFiddle и предоставлении некоторого фиктивного контента ваш код работает отлично: Демонстрация JSFiddle.

Редактировать:

Вопрос был отредактирован. Новый код дает две ошибки:

Uncaught ReferenceError: fitHeight не определен Uncaught TypeError: Невозможно прочитать свойство ‘addEventListener’ из null

Из-за этого код останавливает выполнение до достижения любого вызова console.log .

Возможно, вы использовали функцию фильтра в консоли, которая будет скрывать все, что не соответствует вашему запросу. Удалите запрос, и ваши сообщения будут отображаться.

Теперь в современных браузерах console.log() можно использовать, нажав клавишу F12 . Картинка будет полезна для четкого понимания концепции.

В моем случае я разрабатывал Polymer WebComponent, который включается с помощью
в основной документ HTML. Оказывается, что HTML-файл WebComponent по какой-то причине кэшировался, хотя я изменил его со времен кэшированной версии.

Чтобы решить эту проблему, я открыл консоль разработчика (в Chrome), щелкнул правой кнопкой мыши стрелку перезагрузки рядом с адресной строкой и выбрал «Очистить кэш и полная перезагрузка» — проблема решена.

Источник

Пожалуйста, перестаньте использовать console.log(), это не работает…

Дата публикации: 2018-03-21

От автора: добавление в код console.log(), вероятно, является одной из наиболее распространенных практик среди разработчиков. Тем не менее, я потратил много времени своей жизни, чтобы убедить начинающих (а иногда и опытных кодировщиков) перестать использовать его для отладки JavaScript, и вот почему.

Во-первых, я должен признать, что я все еще использую инструкцию console.log() в своем коде, старые привычки умеют тяжело! Я не одинок, около ¾ разработчиков Node.js использовали ее (в 2016 году) для поиска ошибок в приложениях. В ряде ситуаций это либо самое простое решение, потому что вы точно знаете, что сохраняет информацию, либо вы ограничены производственной / встроенной средой и не имеете другого инструмента. Тем не менее, это не повод делать исключение и вводить эту технику в свою повседневную практику. Действительно, как правило, console log не работает, так как является ненадежным и подверженным ошибкам способом — в то время как нам доступны другие более надежные решения.

Читайте также:  Как починить микро юсб вход

Отсутствует контекстная информация

console.log() заставляет вас сознательно выбирать, какая информация должна регистрироваться до отладки. И то, что вы отображаете в первую очередь, недостаточно или даже совершенно не имеет значения, потому что вы, как правило, еще не знаете, что происходит. Каждый раз, когда вы запускаете приложение, вы делаете шаг вперед, понимая, что вы по-прежнему не уверены, что регистрируете нужную информацию в нужное время — вы теряете время, изменяя операторы снова и снова, чтобы отображать новую информацию и скрывать нерелевантную.

Контр-аргументы инструмента отладки:

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

отображение / просмотр любой переменной JS внутренне во время отладки (аргументы функции, локальные переменные, глобальные переменные и т. д.);

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

Слишком много информации

Алгоритмы обычно предназначены для автоматизации большого количества малых задач, циклов и рекурсий, являющихся фундаментальными блоками. Вместе с console.log() это приводит к большому количеству отображаемых строк. Т.е., вам трудно найти подходящую информацию.

Контр-аргументы инструмента отладки:

создавать условные контрольные точки для приостановки выполнения, когда выполняется конкретное условие, чтобы вы могли заняться анализом происходящего;

отслеживать пользовательские выражения JS (переменные, условия и т. д.), чтобы вы не тратили время на то, чтобы выводить одно и то же выражение на каждом этапе цикла;

создать журнал отладки для классификации в дополнение к стандартным журналам приложений, чтобы активировать отладочные сообщения по запросу для интересующего «домена» (например, файла, службы, класса и т. д.).

Недостоверная информация

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

Контр-аргументы инструмента отладки:

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

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

Измененное поведение кода

«Стандартный» способ отладки асинхронного кода — это консольные журналы «1», «2», «3», «4» и т. д. Т. е. все выполненные шаги перед ожидаемым результатом, пока вы не получите правильный порядок. Как следствие, вы модифицируете код и, таким образом, способ его запуска, что может привести к очень трудному отслеживанию нестандартного поведения. После завершения отладки вы также должны не забыть удалить все журналы консоли в коде.

Контр-аргументы инструмента отладки:

когда нам нужно действительно разобраться в потоке приложения, пошаговый процесс является обязательным;

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

Читайте также:  Не работают кнопки руля тойота королла 150

Инструментарий для отладки для JavaScript

Существует несколько инструментов, которые помогут вам в отладке приложений полного стека JS:

Chrome DevTools, теперь он поддерживает отладку Node.js в дополнение к JS-коду, запущенному на локальном или удаленном браузере (т. е. на мобильном устройстве);

Отладочный модуль Node.js.

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

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

Автор: Luc Claustres

Редакция: Команда webformyself.

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Источник

Не работает console log

В firefox после сегодняшнего обновления у меня перестал работать console.log(); что делать?

2 ответа 2

Что значит «не работает»? Где не работает? Проверьте подключенные на странице скрипты: переменную console можно переопределить, изменив таким образом стандартное поведение. Это можно сделать нечайно (например, в случае ошибки = вместо == или === ).

Что есть сам объект console у Вас? Должен быть такой:

Проверьте, не переопределил ли его какой-либо скрипт.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками javascript firefox или задайте свой вопрос.

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.10.15.40479

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

Console.log not working at all

A bunch of code isn’t working and I’m trying to identify where the problem lies but console.log() isn’t logging any results in Chrome Dev tools, am I doing it correctly?

EDIT FULL CODE ADDED

EDIT

Some bits of the full code (above) refer to other JS files and code returns no errors when run with these files present. After troubleshooting I see the console message before the scroll function but I do not see the console message within the scroll function.

13 Answers 13

Sounds like you’ve either hidden JavaScript logs or specified that you only want to see Errors or Warnings. Open Chrome’s Developer Tools and go to the Console tab. At the bottom you want to ensure that JavaScript is ticked and also ensure that you have «All», «Logs» or «Debug» selected.

In the image above I have JavaScript, Network, Logging, CSS and Other ticked and «All» selected.

Another potential problem could be that your $(window).scroll() function isn’t wrapped within a .ready() function (as documented here):

When pasting your code into JSFiddle and giving some dummy content, your code works perfectly fine: JSFiddle demo.

The question was edited. The new code given throws two errors:

Uncaught ReferenceError: fitHeight is not defined Uncaught TypeError: Cannot read property ‘addEventListener’ of null

Источник

Chrome: console.log, console.debug не работают

Console.log и отладка не печатается, возвратите undefined. Почему это может быть?
Я попытался переустановить хром, но это не помогает.

Вот скриншот с главной страницы хрома, поэтому функции не переопределены в некотором коде

Нажмите “Уровни по умолчанию” и убедитесь, что отмечена “Информация”. По умолчанию он установлен только для показа ошибок и предупреждений

Читайте также:  Психологический настрой при онкологии

Я пришел сюда с той же проблемой:/

Для полноты: в текущей версии chrome параметр больше не находится внизу, но можно найти, щелкнув значок “Фильтр” в верхней части вкладки консоли (второй значок слева)

На сегодняшний день пользовательский интерфейс инструментов разработчика в Google chrome изменился, когда мы выбираем уровень журнала журнальных операторов, отображаемых в консоли. Рядом с текстовым полем “Фильтр” выпадает уровень ведения журнала. Поддерживаемые значения: Verbose , Info , Warnings и Errors с Info .

Любой журнал, серьезность которого равна или выше, будет отображаться на вкладке “Консоль”, например. если выбранный уровень журнала Info , тогда все журналы, имеющие уровни Info , Warning и Error , будут отображаться в консоли.

Когда я изменил его на Verbose , мои команды console.debug и console.log начали отображаться в консоли. До тех пор, пока не будет выбран уровень Info , они не будут показаны.

У меня возникла такая же проблема. Решение для меня состояло в том, чтобы отключить Firebug, потому что Firebug перехватывал журналы в фоновом режиме, в результате чего на консоли Chrome не показывались журналы.

Такая же проблема, но я просто очистил свои настройки. Я зашел в Настройки> Настройки и щелкнул [Восстановить значения по умолчанию и перезагрузить]. Просто помните, какие у вас были настройки.

Также могут быть некоторые фильтры, применяемые к консоли. Удалить их.

В моем случае был webpack с UglifyPlugin, работающим с drop_console: true set

Я работаю над сайтом, где некоторый JS (или другой) код предотвращает работу console.log ( console.log , вероятно, перезаписывается). Вы можете проверить это, проверив, работает ли console.log на другой странице (например, этот).

У меня нет времени, чтобы исследовать дальше прямо сейчас, поэтому использовал alert(«something is: «+something) , чтобы получить информацию, которую я хотел от фрагмента, который мне нужно выполнить.

Если вы видите (3 сообщения скрыты фильтрами. Показать все сообщения.), Затем нажмите на ссылку показать все сообщения в консоли инструментов Chrome dev.

Поскольку, если эта опция включена по ошибке, сообщение console.log(«») покажет, но это будет включено в скрытом состоянии.

Нажмите ” Уровни по умолчанию ” рядом с фильтром и убедитесь, что ” Информация ” отмечена.

Пожалуйста, смотрите скриншот:

Мне только Восстановить “defaults and reload” работало, как было предложено Тимом выше

Выбор verbose исправил его для меня

Это сработало для меня. В разделе консоли перейдите к настройкам в правом верхнем углу. Там выберите сохранить журнал и Log XMLHttpsRequests.

В моем случае это был только старый файл Javascript в кешированном виде. После очистки кеша я увидел свои журналы.

Иногда самые простые вещи сбивают нас с толку…

Введите console.log в консоли и проверьте, какая функция возвращается. Если вы видите ƒ log() < [native code] >тогда это что-то другое. Если вы видите ƒ()<> то где-то внизу нативная функция console.log была изменена.

Работал сегодня на клиентском сайте, и это было проблемой. В этом случае вы можете либо вручную восстановить функцию console.log, либо использовать вместо нее console.dir() или console.warn().

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

Вы что-то набрали в поле фильтра и забыли удалить?
Поле фильтра Chrome может отфильтровывать зарегистрированные сообщения, которые вы ищете?

Источник

Adblock
detector