- Пожалуйста, перестаньте использовать console.log(), это не работает…
- Отсутствует контекстная информация
- Слишком много информации
- Недостоверная информация
- Измененное поведение кода
- Инструментарий для отладки для JavaScript
- JavaScript. Быстрый старт
- Console.log вообще не работает
- 8 ответов
- Редактировать:
- Не работает console log
- 2 ответа 2
- Всё ещё ищете ответ? Посмотрите другие вопросы с метками javascript firefox или задайте свой вопрос.
- Похожие
- Подписаться на ленту
- Javascript Console.log Не работает ни в Chrome, ни в Firefox
- 5 ответов
- не работает команда Console.log()
- Решение
Пожалуйста, перестаньте использовать 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» и т. д. Т. е. все выполненные шаги перед ожидаемым результатом, пока вы не получите правильный порядок. Как следствие, вы модифицируете код и, таким образом, способ его запуска, что может привести к очень трудному отслеживанию нестандартного поведения. После завершения отладки вы также должны не забыть удалить все журналы консоли в коде.
Контр-аргументы инструмента отладки:
когда нам нужно действительно разобраться в потоке приложения, пошаговый процесс является обязательным;
когда нам нужно действительно разобраться в тайминге асинхронных обратных вызовов, контрольные точки приходят вам на помощь (выберите тип, который лучше всего подходит вашей проблемы).
Инструментарий для отладки для JavaScript
Существует несколько инструментов, которые помогут вам в отладке приложений полного стека JS:
Chrome DevTools, теперь он поддерживает отладку Node.js в дополнение к JS-коду, запущенному на локальном или удаленном браузере (т. е. на мобильном устройстве);
Отладочный модуль Node.js.
Можно упомянуть также winston или loglevel, как довольно полезные настраиваемые регистраторы, но я предпочитаю использовать их для производственных журналов (информации, предупреждений, ошибок и т. д.).
И если вы чувствуете, что еще не в состоянии использовать отладчик при запуске тестов, прочитайте эту статью и другие подобные ресурсы, которые вы можете легко найти в Интернете.
Автор: Luc Claustres
Редакция: Команда webformyself.
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
JavaScript. Быстрый старт
Изучите основы 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
В firefox после сегодняшнего обновления у меня перестал работать console.log(); что делать?
2 ответа 2
Что значит «не работает»? Где не работает? Проверьте подключенные на странице скрипты: переменную console можно переопределить, изменив таким образом стандартное поведение. Это можно сделать нечайно (например, в случае ошибки = вместо == или === ).
Что есть сам объект console у Вас? Должен быть такой:
Проверьте, не переопределил ли его какой-либо скрипт.
Всё ещё ищете ответ? Посмотрите другие вопросы с метками javascript firefox или задайте свой вопрос.
Похожие
Подписаться на ленту
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.10.19.40495
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Источник
Javascript Console.log Не работает ни в Chrome, ни в Firefox
Я делаю очень просто:
Предупреждение работает (поэтому я знаю, что работает javascript), но я не могу просмотреть журнал. Когда я использую Firefox, я получаю следующую ошибку:
The Web Console logging API (console.log, console.info, console.warn, console.error) has been disabled by a script on this page.
Что происходит? Я рассмотрел следующие темы, но никто не помог:
Я также убедился, что воронка работает и что ведение журнала включено.
Что еще может быть проблемой?
5 ответов
У меня была та же проблема с сайтом электронной коммерции Magento (версия 1.6.2.0).
Я исправил это, комментируя следующие строки в /js/varien/js.js:637
Это исправление только (очевидно) для сайтов Magento.
Я просто столкнулся с этой проблемой после обновления Firefox и смог ее исправить. Вот код, который вызвал проблему:
В предыдущей версии FireFox «var console;» не будет выполнен. Теперь он, похоже, добавил какой-то механизм ветвления/прогнозирования. Видя, что я могу определить переменную с именем console с глобальной областью, она отключает window.console.
Я исправил эту проблему, переименовав консоль var; to var cons;
Мне все равно нужно проверить это, чтобы убедиться, что он делает то, что я ожидаю в IE. Мне просто нужно найти копию IE без консоли (думаю, 9 или ниже).
Я просто хочу, чтобы Firefox рассказывал вам, в какой строке скрипта отключена консоль — это было бы неплохо.
Источник
не работает команда Console.log()
напсал простейший код на html
предупреждение ‘Javascript подключен’ работает, а вот цифры 123 в консоли не выводятся, мало того на странице в Хроме при запуске html-файла видно:
console.log(‘123’); console.log(‘123’); Содержимое
Подскажите плиз почему не работает команда Console.log()?
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Console.log
Открываю код в браузере но нечего не происходит,пустая страница,в чем проблема? .
подмена console.log
Гуру, подскажите пожалуйста! Можно ли ПОЛНОСТЬЮ подменить методы вроде console.log()? Например.
Console.log не выводит ошибок
var http = require(‘http’); var app = http.createServer().listen(‘8080’);.
Просмотр console.log в мобильном браузере
Добрый день, подскажите плииз, как можно просматривать консоль в андроиде (мобильном браузере)? .
Решение
Разный результат в выводе стоящих подряд console.log();
вывожу в консоль хрома console.log(whatBlock);//выводит 11 как и пооложено.
Не работает console log
Не работает console log никак не пойму в чем дело. алерт работает
Console.log
Объясните пожалуйста принцип использования console(подробнее о console.log) и как его использовать
console.log как
вы знаете как сделать так чтобы в console.log было так медленно чтобы они шли 1 2 3 4 по-очереди
Источник