Номера строк ошибок Javascript - PullRequest
12 голосов
/ 06 января 2010

У меня есть JSP с большим количеством кода JavaScript. Всякий раз, когда на странице возникает ошибка javascript, отображаемая в строке состояния браузера IE, номер строки, в которой указана ошибка, не совпадает с номером строки, которая фактически содержит ошибку. Я делаю щелчок правой кнопкой мыши> просмотр источника, чтобы найти номер строки, о которой сообщается. Но эта строка не содержит ошибки. Я предполагаю, что ошибка в какой-то другой строке. В чем причина ошибочных номеров строк?

Пожалуйста, помогите.

Ответы [ 5 ]

7 голосов
/ 06 января 2010

Как отмечалось в других ответах, IE плохо сообщает о номерах строк об ошибках. Однако встроенный отладчик (нажмите F12) в IE8 и более поздних версиях гораздо более полезен, поэтому я предлагаю вам попробовать.

5 голосов
/ 06 января 2010

Я обнаружил проблему после многих испытаний. Надеюсь, это будет полезно некоторым парням, сталкивающимся с этой неприятной проблемой.

RightClick> View Source - это код, который видит браузер для отображения страницы. Однако это еще не все. На странице также могут быть другие HTTP-запросы к файлам css и js. Это было то, что происходило в моем случае. Ошибка была в импортированном js-файле ( NOT INCLUDED ; если он был включен, ошибка была бы в коде). И номер строки был указан относительно этого файла js.

Однако, оглядываясь назад, я считаю, что это правильно, поскольку импортированные файлы хранятся отдельно в кэше браузера, поскольку они являются независимыми HTTP-запросами к веб-серверу. И, следовательно, не должны появляться в RightClick> View Source code.

ПОТЕНЦИАЛЬНАЯ ПРОБЛЕМА: Однако, хотя в моем случае номер строки в отдельном js-файле, о котором сообщалось, оказался правильным, это не всегда может быть правдой. В большинстве корпоративных приложений js и css es часто минимизируются для уменьшения занимаемой площади. Следовательно, файл js, который вы, возможно, просматриваете в своей IDE, будет отличаться от того, что видит браузер. Следовательно, номера строк могут быть другими. Номера строк будут w.r.t сжатой версии файла, который видит браузер.

IE JAVASCRIPT ОТЛАДКА: Я нашел эту страницу, которая обещает предложить среду отладчика (хотя и не сложную) в среде IE.

http://jonathanboutelle.com/2006/01/16/how-to-debug-javascript-in-internet-explorer/ Я не пробовал, так как у меня не установлен полный пакет Office.

3 голосов
/ 06 января 2010

Internet Explorer ужасно сообщает о номерах строк Javascript - обычно номер строки указывается там, где в файле HTML начинался тег <script> Javascript, а не номер строки местоположения в файле Javascript. Полагайтесь только на сообщение об ошибке, номер строки в IE ничего не стоит.

Используйте другой браузер, например Firefox с установленным расширением Firebug, или Google Chrome со встроенным Web Inspector, что тоже замечательно.

1 голос
/ 06 января 2010

Вот хорошая статья

Отладка JavaScript: понимание сообщений об ошибках JavaScript

Номер строки, в частности, повороты быть намного менее полезным, чем вы можно ожидать. Браузеры отличаются по своему определение номера строки и таким образом, не достоверно сообщить правильный номер строки, что ошибка произошло по отношению к источнику код. Internet Explorer, например, сообщает номер строки по отношению к собственный рендеринг браузера источника документа, который может или может не совпадать с исходным файлом! Fire Fox сообщает о местонахождении ошибки подробнее достоверно, сообщая файл скрипта что произошла ошибка, где применимо. Firefox не будет однако предоставить вам подробную информацию о элемент, вызвавший ошибку, известен как "звонящий". Эта информация, который может быть полезен для быстрого отслеживания причина ошибки, в настоящее время предоставляется только Internet Explorer.

0 голосов
/ 06 января 2010

Если вы хотите получить точную причину и место ошибки и если вы хотите выполнить расширенную отладку JavaScript, я бы порекомендовал вам использовать FireBug .

...