Что такое код символа HTML 8203?
Что означает код символа (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>
8 ответов
Это символ Unicode 'ZERO WIDTH SPACE' (U + 200B).
этот символ предназначен для контроля разрыва строки; он не имеет ширины, но его наличие между двумя символами не препятствует увеличению межбуквенного интервала в оправдании
Согласно приведенному примеру кода, сущность в этом контексте совершенно лишняя. Он должен быть вставлен случайно, скорее всего, ошибочным редактором, пытающимся сделать умные вещи с пробелами или выделением, или конечным пользователем, использующим язык клавиатуры, на котором этот символ изначально используется, например, арабский.
Если вы хотите найти эти невидимые символы в вашем редакторе и сделать их видимыми, вы можете использовать Регулярное выражение для поиска не-ascii символов. Попробуйте найти [^\x00-\x7F]
, Проверено в IntelliJ IDEA.
Я приземлился здесь с той же проблемой, а потом понял сам. Этот странный персонаж появлялся в моем HTML.
Проблема, скорее всего, в вашем редакторе кода. Я использую эспрессо и иногда сталкиваюсь с такими проблемами.
Чтобы исправить это, просто выделите соответствующий код, затем перейдите в меню и нажмите "преобразовать в числовые объекты". Вы увидите числовое значение этого символа; просто удалите это, и это ушло навсегда.
Если вы видите их в источнике, имейте в виду, что это может быть кто-то, кто пытается снять отпечатки пальцев с текстовых документов, чтобы выявить, кто пропускает информацию. Это также может быть попыткой обойти спам-фильтр, делая одну и ту же информацию разным на уровне байтов.
Посмотрите мою статью о смягчении отпечатков пальцев, если вы заинтересованы в получении дополнительной информации.
ZERO WIDTH SPACE
,
Я использовал его как контент для "пустых" ячеек таблицы. Понятия не имею, что он делает в <script>
тег, хотя.
Символ ZERO WIDTH SPACE вставляется, когда вы используете jQuery для добавления элементов с использованием функций манипулирования DOM, таких как.before() и.after()
Я столкнулся с этим при добавлении скрытых модальных диалоговых окон в конце моего документа, а затем обнаружил, что ZERO WIDTH SPACE портит макет внизу, добавляя ненужное пространство.
Быстрым решением было вставить его до нижнего колонтитула, а не после него. Его все равно спрятано.
Я не могу найти ничего в jQuery, который делает это:
https://github.com/jquery/jquery/blob/master/src/manipulation.js
Так что это может быть браузер, который добавляет его.
У меня есть эти персонажи в сценариях, где я не желаю их. Я заметил, потому что он разрушает мое визуальное форматирование HTML/CSS: он создает новое текстовое поле.
Я уверен, что их добавляет редактор с ошибками... Я подозреваю, что в моем случае Komodo Edit для Mac.
Он отображал некоторые странные символы (), пока я не установил кодировку в UTF-8 в заголовке HTML-файла
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
или для HTML5:
<meta charset="UTF-8">
Это теперь прозрачно, но все еще отображается в HTML, когда я использую инспектор.
Удаление всех скриптов со страницы тоже не удаляло.
Я проверил это для хрома и IE.