Что вызывает ошибку синтаксического анализа в JavaScript, когда исходный код вырезается и вставляется? - PullRequest
0 голосов
/ 08 августа 2011

Я вырезал и вставил этот фрагмент кода 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 Ответ

0 голосов
/ 08 августа 2011

Не совсем уверен, но, вероятно, в коде, который вы скопировали и вставили, были скрытые нераспознанные символы. И это вызвало ошибку.

...