Номера строк ошибок Javascript
У меня есть jsp с большим количеством кода javascript. Всякий раз, когда на странице отображается ошибка javascript, отображаемая в строке состояния браузера IE, номер строки, сообщаемый с указанием ошибки, не совпадает с номером строки, который фактически содержит ошибку.
Я делаю правый щелчок > источник просмотра, чтобы найти номер строки, о которой сообщается. Но эта строка не содержит ошибки. Ошибка, я полагаю, в какой-то другой строке.
Что может быть причиной ошибочных номеров строк.
Пожалуйста, помогите.
Ответы
Ответ 1
Я нашел проблему после многих испытаний. Надеюсь, это будет полезно для некоторых парней, столкнувшихся с этой расстраивающей проблемой.
RightClick > View Source - это код, который браузер видит для отображения страницы. Однако это еще не все. На странице также могут быть другие HTTP-запросы для css файлов js. Это то, что происходило в моем случае. Ошибка была импортирована ( НЕ ВКЛЮЧЕНА; если бы она была включена в файл js файла). И номер строки, о которой сообщалось, относился к этому js файлу.
В ретроспективе, однако, я считаю, что это правильно, поскольку импортированные файлы хранятся отдельно в кеше браузера, поскольку они являются независимыми HTTP-запросами на веб-сервере. И, следовательно, не должно появляться в коде RightClick > View Source.
ПОТЕНЦИАЛЬНАЯ ПРОБЛЕМА:
Однако, хотя в моем случае номер строки в отдельном файле js, о котором сообщалось, был признан правильным, что может не всегда быть истинным.
В большинстве корпоративных приложений js и css es часто уменьшаются, чтобы уменьшить размер байта. Следовательно, файл js, который вы, возможно, смотрите, в вашей среде IDE, не будет таким, как видит браузер. Следовательно, номера строк могут быть разными. Номера строк будут w.r.t сжатой версией файла, который видит браузер.
IE JAVASCRIPT DEBUGGING:
Я нашел эту страницу, которая promises предложила среду отладчика (хотя и не сложную) в среде IE.
http://jonathanboutelle.com/2006/01/16/how-to-debug-javascript-in-internet-explorer/
Я не пробовал, так как у меня не установлен полный пакет Office.
Ответ 2
Как отмечено в других ответах, IE плохо сообщает номера строк для ошибок. Тем не менее, встроенный отладчик (нажмите F12) в IE8, а затем гораздо полезнее, поэтому я предлагаю вам попробовать.
Ответ 3
Internet Explorer ужасно относится к номерам строк Javascript - обычно номер строки указывается, где тег Javascript <script>
запускается в файле HTML, а не номер строки местоположения в файле Javascript. Только полагайтесь на "Error Reported", номер строки ничего не стоит с IE.
Используйте другой браузер, например Firefox с установленным Firebug Extension, или Google Chrome, который имеет встроенный веб-инспектор, который также хорош.
Ответ 4
Вот хорошая статья
Отладка JavaScript: понимание сообщений об ошибках JavaScript
Номер строки, в частности, поворачивается чтобы быть намного менее полезным, чем вы возможно. Браузеры отличаются своим определение номера строки и таким образом, не правильный номер строки, в котором ошибка произошло по отношению к источнику код. Internet Explorer, например, сообщает номер строки по отношению к собственный внутренний рендеринг браузера источника документа, который может или может не соответствовать исходному файлу! Fire Fox сообщает о месте ошибки больше надежно, сообщая файл scriptчто произошла ошибка, когда применимо. Однако Firefox не будет предоставить вам подробную информацию о элемент, вызвавший ошибку, известный как "вызывающий". Эта информация, которые могут быть полезны при быстром отслеживании причина ошибки, в настоящее время только через Internet Explorer.
Ответ 5
Если вы хотите получить точную причину и местоположение ошибки, и если вы хотите выполнить обширную отладку javascript, я бы рекомендовал вам использовать FireBug.