Я разрабатываю интерфейс веб-приложения с использованием среды IDE NetBeans 7.0.1.Недавно у меня была очень неприятная ошибка, которую я наконец исправил.
Скажем, у меня есть код
var element = '<input size="3" id="foo" name="elements[foo][0]" />';
$('#bar').append(element);
Я заметил, что что-то пошло не так, когда я увидел, что атрибут size
не работаетв Chrome (не проверено в других браузерах).Когда я открыл этот элемент в Инспекторе, он был интерпретирован как что-то вроде
<input id=""3"" name=""elements[foo][0]""
size=""foo"" />
, что было довольно странно.После повторного ввода строкового символа element
ошибка исчезла.Когда я отменил это изменение, я заметил, что Netbeans предупредил меня о некоторых символах Юникода в моем старом коде.Это был \u200b
- пробел нулевой ширины после каждого '=', между '] [' и в конце строки.Таким образом, строка выглядела нормально, потому что пробелы нулевой ширины не отображались, но после их выхода моя строка была
'<input size=\u200b"3" id=\u200b"foo" name=\u200b"elements[foo]\u200b[0]" />\u200b'
Теперь, где, черт возьми, я их получил?
Я не увереноткуда я скопировал код element
, но он определенно один из следующих:
- Другая панель редактора Netbeans с файлом шаблона HTML;
- Google Chrome Inspector, 'Скопируйте как HTML 'действие;
- Страница просмотра исходного кода Google Chrome (очень сомнительно).
Но я не могу воспроизвести ошибку ни с этим.
Я использую Netbeans 7.0.1 и Google Chrome 13.0 под Windows 7. Нет переключателей клавиатуры или что-то вроде этого работает.Также я использую Git для контроля версий, но я не вытащил этот код, поэтому очень маловероятно, что Git виноват.Это не может быть глупой шуткой моих коллег, потому что они очень хорошо воспитаны.
Есть предложения, которые испортили мой код?