2015-06-29 8 views
1

Я хотел бы проверить, произошла ли какая-либо ошибка в консоли с помощью javascript, и alert() сам, если она есть.Проверка наличия или отсутствия конкретной ошибки консоли с помощью javascript

Ошибка будет выглядеть следующим образом:

00:00:34:0359 TimeEvent.COMPLETE 
    (anonymous function) @ VM17617:1 

И алгоритм будет выглядеть примерно так:

function checkError(console) { 
    if(console.error === "TimeEvent.COMPLETE") { 
     alert("The error is present"); 
    } 
} 

Я не очень хорошо знаком с консолью, так и не получил много в дальнейшем с исследованиями Google. Может кто-нибудь указать мне в правильном направлении?

+0

Не было бы лучше, чтобы попытаться вклиниться в реальное событие, которое вызывает ошибку? – Jan

+0

@Jan: Это был мой первоначальный план, но я тоже не могу понять. Это событие: 'try {__flash__toXML (console.error (" 00: 02: 30: 0596 TimeEvent.COMPLETE ")); } catch (e) {"" + e + ""; } 'Любые идеи? – JSW189

+0

Это должно находиться где-то внутри функции или метода. Вы можете получить метод, вставить в него что-то, а затем перезаписать его своим собственным протоколированием. – Jan

ответ

0

Вы не представили всю картину о том, как и когда консоль получает сообщение об ошибке. Если вы сами поднимаете ошибку или можете поймать ее внутри try catch, это будет лучшее место для перехвата этих ошибок.

Однако, если у вас нет контроля над тем, как возникают эти ошибки, вы должны попытаться перехватить вызовы ошибок вашей консоли. Я никогда не пробовал это сам, но это SO answer объясняет, как перехватывать вызовы консоли log. Зная, что консоль обычно имеет функцию с именем error, которая похожа на функцию log, я уверен, что вы можете применить ту же логику для перехвата ошибок, отправленных на консоль.

Если вы используете хром, вы можете обратиться к console documentation за дополнительной информацией об ошибке. Я не уверен, есть ли стандарт, но Internet Explorer и Firefox также поддерживает консоль error.

0

Я в конечном счете решил свой вопрос, выполнив this blog post при захвате консоли с помощью javascript.

Вот мой окончательный код:

var original = window.console 
window.console = { 
    error: function(){  

     //Gets text from error message. 
     errorText = arguments['0']; 

     if (errorText.includes('TimeEvent.COMPLETE')) { 
      //DO STUFF HERE 
     } 

     original.error.apply(original, arguments) 
    } 
} 
Смежные вопросы