Номера строк ошибок 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.