операторы console.log () не отображаются в журнале ошибок Safari - PullRequest
5 голосов
/ 18 сентября 2009

Я отлаживаю специфическую для Safari проблему с JavaScript, и не могу получить console.log для вывода в журнал ошибок Это документированная функция Safari (я использую версию 4.0.3). Однако эти утверждения в моем коде просто игнорируются. Почему?

Ответы [ 4 ]

3 голосов
/ 19 сентября 2009

Спасибо Бретону и SeanJA за их предложения по тестированию непосредственно в консоли и созданию файла примера. После этого я понял, что console.log фактически работает в изолированной среде. Это заставило меня понять, что это должно быть что-то особенное в моей среде разработки. Посмотрев вокруг, я обнаружил, что на ранних этапах был загружен некоторый JavaScript, предназначенный для определения объекта консоли для браузеров без поддержки Firebug.

if (!("console" in window) || !("firebug" in console))
 {
     var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
     "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];

     window.console = {};
     for (var i = 0; i < names.length; ++i)
         window.console[names[i]] = function() {}
 }

Это, очевидно, было написано до того, как Safari реализовал консольный объект для своего окна ошибки.

Я удалил это, и теперь все работает хорошо. Спасибо, ребята.

1 голос
/ 18 сентября 2009

Используете ли вы mac или windows build?

В сборке Windows я не могу использовать большую часть материала в меню «Разработка», ни один из вариантов javascript не работает для меня. Я могу использовать только

  • Открыть страницу с
  • Пользовательский агент
  • Показать редактор snipper
  • Отключить *
0 голосов
/ 18 сентября 2009

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

0 голосов
/ 18 сентября 2009

В Firefox я знаю, что теперь вам нужно открыть консоль firebug для работы консольных * функций. Может быть, это то же самое?

...