Почему не работает console log
Перейти к содержимому

Почему не работает console log

  • автор:

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 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.

14 Answers 14

In my case, all console messages were not showing because I had left a string in the «filter» textbox.

Remove the filter it by clicking the X as shown:

enter image description here

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.

Example Screenshot

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

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

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

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

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

8 ответов

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

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

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

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

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

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

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

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

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

enter image description here

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

Example Screenshot

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

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

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

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

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

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

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

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

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

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

Console.log в chrome

Тут пишут, что для console.log нужно передать window в качестве this (там про alert правда). Еще попробовал замыкание сделать — тоже не работает.

Кстати в Firefox все без проблем работает.

Ну, с alert, как раз, все работает,

Да, точно. Там вообще другая ситуация.

When you write cl();, you’re calling log in the global context.
Chrome’s console.log doesn’t want to be called on the window object.

Спасибо, да, так все работает. По вашему методу можно решить, наверное, любую подобную проблему:

Видимо ты просто не понимаешь красоту жусу-ООП.

А document.write это вообще нехорошо.

Видимо ты просто не понимаешь красоту жусу-ООП

Ну так просвяти.

А document.write это вообще нехорошо.

Это почему (хотя к сабжу отношения не имеет, в любом случае).

Это почему (хотя к сабжу отношения не имеет, в любом случае).

Это почему (хотя к сабжу отношения не имеет, в любом случае)?

Это был вопрос, вопр знак не поставил:)

Вести разработку с отключенными предупреждениями и без валидации кода, наобум без чтения документации все равно, что с закрытыми глазами и ушами — конечно будет интересно все. Этой привычкой не следует злоупотреблять — нужно настроить среду разработки на проверку ошибок на лету как минимум, если лень читать основы языка. Нормальные редакторы и среды, осмысленные подходы, позволяют это делать.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *