Javascript + Firebug console.log (), как не получить исключения? - PullRequest
3 голосов
/ 06 октября 2010

Я пишу библиотеку холста javascript / HTML5, чтобы обеспечить базовые элементы графического интерфейса для веб-аудио приложений.

Есть небольшой демонстрационный скрипт, который создает виджеты с библиотекой и собирает их в графическом интерфейсе. Вы можете найти его @ http://bitterspring.net/webshifter/

Проблема в том, что она работает корректно на Chrome и Firefox 3.6 - 4.0, но в последних случаях только с firebug . Без firebug сценарий, кажется, ничего не визуализирует на экране, в то время как с firebug он делает.

Единственные фрагменты кода, связанные с firebug, - это оператор console.log, который я использую для отслеживания поведения библиотеки. Но эти утверждения не должны влиять на браузер без поддержки firebug, как я узнал на форумах Firebug. Что может помешать работе примера сценария в этих случаях?

Кстати, библиотека + пример кода только что зафиксирована на http://github.com/janesconference/KievII.

РЕДАКТИРОВАТЬ: Кажется, что, когда console не определена, console.log () выдает исключение. Есть ли способ сохранить строки регистрации кода и не получить исключение? (да, можно проверить, если console! = undefined, но есть ли лучший способ?)

РЕДАКТИРОВАТЬ: Это делает трюк, кажется ( Шрифт )

if (typeof console=="undefined"){console={log:function(A){var B=false;if(B){alert(A)}}}}

1 Ответ

2 голосов
/ 31 октября 2010

Правильно, объект console доступен не во всех браузерах по умолчанию.

Этот код:

if (typeof console=="undefined"){console={log:function(A){var B=false;if(B){alert(A)}}}}

- в настоящее время отключает поддержку console в веб-консоли Firefox 4, поскольку он пытается внедрить объект console при открытии и не сделает этого, если на странице уже определен объект console.

Интересная оболочка для console, которая решает эту проблему: http://benalman.com/projects/javascript-debug-console-log/, хотя я сам не пробовал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...