Почему во всех журналах и ошибках консоли JavaScript отображается строка 1 (Инструменты разработчика)
Я работаю над проектом Javascript и использую инструменты разработчика Chrome F12 для отладки. По какой-то причине все выходные данные и сообщения об ошибках console.log утверждают, что они находятся в строке 1 моего файла js.
... т.е. в консоли справа от каждой строки написано myFile.js:1
несмотря на то, что в строке 1 нет кода, а код явно выполняется в другой строке.
Что может быть причиной этого?
3 ответа
Очевидно, другие люди не смогли воспроизвести проблему (@Bergi), поэтому я могу только представить, что у Chrome была проблема с файлом (повреждена?). Очистка кеша не помогла.
Обходным решением, которое работало для меня, было использование нового файла.
- Измените имя файла на myFile_broken.js
- Создайте новый файл myFile.js
- Скопируйте весь контент из myFile_broken.js в myFile.js
Новый файл JS теперь отображает правильные номера строк. Несмотря на то, что все свойства выглядят одинаково и все текстовое содержимое одинаково, новый файл имеет примерно на 100 байт больше, чем исходный поврежденный файл.
Надеюсь, это поможет кому-то, у кого такая же проблема, и, надеюсь, однажды коренная проблема будет обнаружена и исправлена. (Ошибка, воспроизведенная мной в версиях Chrome 34.0.1847.116 м и 34.0.1847.131 м)
Это звучит как проблема, когда окончания строк не в правильном формате. Это может быть проблема с настройками, используемыми вашим редактором, или даже проблема с тем, как файл был скопирован на сервер. Но по какой-то причине строки не распознаются как правильно закодированные окончания, поэтому все это рассматривается как одна строка.
У меня недавно была ошибка JS, которая отображалась как строка 1 в консоли. Оказалось, что ошибка исходила из динамически построенного onchange
приписывать.
Так как ошибка была в первой "строке" кода внутри onchange
атрибута, и не было никакого имени файла, связанного со встроенным атрибутом, консоль Firefox запуталась и показала ошибку как идущую из строки 1 окружающего файла HTML. Консоль Chrome также показала это как строку 1, но нажатие на ошибку открыло обработчик onchange, а не весь html-файл, как я понял.