2010-12-07 4 views

ответ

2

this thread См. (Не точный дубликат, но связанный).

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

var myLogStr=''; 

function myLog(str) 
{ 
    if(console) console.log(str); 
    myLogString+=str+'\n'; 
} 

Конечно, все объекты Firebug (консоль и т.д.) существует в DOM, чтобы вы могли отследить идентификатор окна консоли и извлечь содержимое непосредственно.

Update

Firebug also offers some events that you can hook into, который может обеспечить способ для перехвата ошибок и т.д.

+3

о ирония - я написал сверху проголосовал ответ на этот вопрос ... – nickf 2010-12-07 10:39:03

5

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

Я мог ошибаться в деталях этого, потому что я только бегло взглянул на источник Firebug и сделал очень мало плагинов для Firefox, но я думаю, что это в целом правильно.

5

Paul Irish создали оболочку для console.log, который должен решить проблему, посмотрите here

Смежные вопросы