2012-01-29 1 views
0

Мне нужно отслеживать ошибки JS в браузере, но когда я запускаю функцию в FF, я получаю ошибку «функция не определена». Это не дает мне номер строки. Он работает в Chrome и, возможно, в IE.Firefox - показать номер строки на "function not defined"?

window.onerror = function(errorMessage, url, line) { 
    var loggerUrl = "https://www.xing.com/js/logger"; 
    var parameters = "?description=" + escape(errorMessage) 
     + "&url=" + escape(url) 
     + "&line=" + escape(line) 
     + "&parent_url=" + escape(document.location.href) 
     + "&user_agent=" + escape(navigator.userAgent); 

    /** Send error to server */ 
    //new Image().src = loggerUrl + parameters; 
    alert(loggerUrl + parameters); 
}; 

HTML

<input type="button" onClick="test()" value="click"> 
+0

'escape' не для URL-адресов; вместо этого используйте 'encodeURIComponent'. – Gumbo

+0

Спасибо. На самом деле я не знаю, что делают escape и encode. – boje

ответ

0

Существует очень хороший светлячок аддон "Поджигатель", который exactely то, что вы ищете. Найдите Firebug на веб-сайте дополнения Mozilla.

+0

Я использовал это, но я хотел бы хранить все ошибки в базе данных от всех пользователей. Таким образом, я получаю журнал ошибок JS. Firebug не возвращает нити linenumers – boje

+0

Подождите, почему вы хотите отправить ошибки в базу данных? Не следует ли проверять код перед вводом в эксплуатацию? – alexy13

+0

Конечно, он протестирован раньше, но со многими разработчиками всегда будут ошибки разных старых браузеров. – boje