Что такое код HTML 8203?
-
24-10-2019 - |
Вопрос
Что означает код символа (HTML) ​
?Я нашел это в одном из моих скриптов jQuery и задался вопросом, что это такое...
Спасибо.
Редактировать:
Вот скрипт, в котором это было (добавлен в конец, нашел в Firebug)
<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>
<script type="text/javascript">
var $jnyh = jQuery.noConflict();
$jnyh(function() {
$jnyh("#title-nyh").click(function() {
$jnyh(".show-hide-nyh").slideDown("slow");
}, function() {
if(!$jnyh(this).data('pinned'))
$jnyh(".show-hide-nyh").slideUp("slow");
});
$jnyh("#title-nyh").click(function() {
$jnyh(this).parent().toggleClass("title-btm-brdr");
$jnyh(this).toggleClass("chev-up-result");
var pin = $jnyh(this).data('pinned');
$jnyh(this).data('pinned', !pin);
if(pin) $jnyh(".show-hide-nyh").slideUp("slow");
});
});​
</script>
Решение
Это Символ Юникода «НУЛЕВАЯ ШИРИНА» (U+200B).
этот символ предназначен для контроля разрыва строки;у него нет ширины, но его наличие между двумя символами не препятствует увеличению межбуквенного интервала по ширине.
Согласно приведенному примеру кода, сущность в этом контексте совершенно лишняя.Он должен быть вставлен случайно, скорее всего, из-за ошибки редактора, пытающегося сделать умные вещи с пробелами или выделением, или конечного пользователя, использующего язык клавиатуры, в котором изначально используется этот символ, например арабский.
Другие советы
Если вы хотите найти эти невидимые символы в своем редакторе и сделать их видимыми, вы можете использовать регулярное выражение для поиска символов, отличных от ascii.Попробуйте поискать [^\x00-\x7F]
.Протестировано в IntelliJ IDEA.
Я пришёл сюда с той же проблемой, а потом разобрался сам.Этот странный персонаж появлялся в моем HTML.
Проблема, скорее всего, в вашем редакторе кода.Я использую Espresso и иногда сталкиваюсь с такими проблемами.
Чтобы исправить это, просто выделите проблемный код, затем перейдите в меню и нажмите «Преобразовать в числовые объекты».Вы увидите числовое значение этого символа;просто удалите его, и он исчезнет навсегда.
ZERO WIDTH SPACE
.
Я использовал его в качестве содержимого для «пустых» ячеек таблицы.Понятия не имею, что он делает в <script>
тег, однако.
Символ ZERO WIDTH SPACE вставляется, когда вы используете jQuery для добавления элементов с помощью функций манипуляции DOM, таких как .before() и .after().
Я столкнулся с этим, когда добавлял скрытые модальные диалоговые рамки в конце моего документа, а затем обнаружил, что ПРОСТРАНСТВО НУЛЕВОЙ ШИРИНЫ портит макет там, добавляя ненужное пространство.
Быстрое решение заключалось в том, чтобы вставить его перед нижним колонтитулом, а не после него.В любом случае оно скрыто.
Я не могу найти в jQuery ничего, что делало бы это:
https://github.com/jquery/jquery/blob/master/src/manipulation.js
Так что это может быть браузер, который добавляет его.
Я заставляю этих персонажей появляться в сценариях, где они мне не нужны.Я заметил, потому что это портит мое визуальное форматирование HTML/CSS:он создает новое текстовое поле.
Я уверен, что их добавляет глючный редактор...В моем случае я подозреваю, что Komodo Edit для Mac.
Если вы видите это в источнике, имейте в виду, что это может быть кто-то, пытающийся снять отпечатки пальцев с текстовых документов, чтобы выяснить, кто является источником утечки информации.Это также может быть попыткой обойти спам-фильтр, сделав одну и ту же информацию различной на побайтовом уровне.
Видеть моя статья о предотвращении снятия отпечатков пальцев, если вы хотите узнать больше.
Он отображал некоторые странные символы (‹), пока я не установил charset UTF-8 в главе HTML-файла
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
или для HTML5:
<meta charset="UTF-8">
Теперь он прозрачный, но по-прежнему отображается в HTML, когда я использую инспектор.
Удаление всех скриптов со страницы тоже не удалило ее.
Я тестировал его для Chrome и IE.