Что вызывает ошибку синтаксического анализа в JavaScript, когда исходный код вырезается и вставляется?
Я вырезал и вставил этот фрагмент кода SO из моего браузера в мой редактор (TextWrangler). Когда я загрузил страницу, она выдала мне ошибку синтаксиса / разбора (Safari).
Посмотрев на него примерно на 10 минут, я вручную набрал тот же самый код, и он выполнялся, как и ожидалось, без ошибок синтаксического анализа.
Любопытно, если кто-то еще получит такой же результат, и я предполагаю, что должны быть какие-то скрытые символы, которые портят синтаксис JavaScript..? Кто-нибудь знает, какие символы они, вероятно, будут (возвращает? Вкладки?) И как вы справляетесь с этим - это просто проблема редактора? Обычно у меня нет проблем с вырезанием и вставкой кода из окна браузера в редактор кода.
Месяцы спустя, и это все еще открытый вопрос.
Подобная вещь произошла снова, вырезать и вставить немного CSS в Vim:
.quiz-button-go:hover{
color:#ddffff;
background:#28e07e;
}
атрибут color не будет работать (он игнорируется в браузере), но фон РАБОТАЕТ. Однако, если я удаляю пробелы перед цветом и символом новой строки, то атрибут цвета работает!
Я обнаружил, что в Vim вы можете использовать : set list для отображения всех скрытых символов. Вот что я получаю:
44 .quiz-button-go:hover{$
45 $
46 ^Icolor:#ddffff;$
47 ^Ibackground:#28e07e;$
48 }$
Ничего необычного, верно?
Более того, если я попробую cat -vt filename, я получу это:
.quiz-button-go:hover{
^Icolor:#ddffff;
^Ibackground:#28e07e;
}
Опять же, если я просто удаляю пустое пространство перед "цветом", CSS работает отлично.
Любые другие идеи о том, как просмотреть скрытые символы будут оценены...
1 ответ
Не совсем уверен, но, вероятно, в коде, который вы скопировали и вставили, были скрытые нераспознанные символы. И это вызвало ошибку.