2010-06-04 4 views
95

Что обозначает код символа (HTML) ​? Я нашел его в одном из моих сценариев jQuery и задавался вопросом, что это было.Что такое код HTML 8203?

Спасибо.

Edit:

Вот сценарий он был (он был добавлен в конце концов, нашли его в 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");  
    }); 
});​&#8203; 
</script> 

ответ

110

Это Unicode Character 'ZERO WIDTH SPACE' (U+200B).

Этот символ предназначен для управления разрывом линии; он не имеет ширины, но его присутствие между двумя символами не препятствует увеличению расстояния между буквами в оправке

Согласно данному образцу кода объект в этом контексте является излишним. Он должен быть вставлен в какой-то случайный случай, скорее всего, с помощью багги-редактора, пытающегося делать умные вещи с пробелом или подсветкой, или конечным пользователем с использованием языка клавиатуры, в котором этот символ изначально используется, например, на арабском.

+1

Спасибо. Странно, как это закончилось в моем jQuery. – Kyle

+0

@Kyle - Что это такое? –

+0

Добро пожаловать. Вы могли бы просто прочитать функцию, что она делает с этим символом :) – BalusC

2

ZERO WIDTH SPACE.

Я использовал его как содержимое для «пустых» ячеек таблицы. Однако не знаю, что он делает в теге <script>.

1

У меня эти персонажи появляются в сценариях, где я их не желаю. Я заметил, что он разрушает мое форматирование HTML/CSS: он создает новое текстовое поле.

Довольно уверен, что редактор багги добавляет их ... Я подозреваю, что Komodo Edit для Mac, в моем случае.

+0

Я сомневаюсь. Показывается в IE на моем ПК, когда я смотрел на '.html()' div, который представлял текстовое поле в SP 2013. Я считаю, что это связано с поведением веб-приложения, отображающего данные. В моем случае длина была 1, для меня, когда это должно было быть 0. Это было связано с этим персонажем. – vapcguy

2

символ пробела ZERO WIDTH вставляется при использовании JQuery для добавления элементов с помощью функции манипулирования DOM, как .До() и .after()

Я нарваться это при добавлении скрытого модальных диалоговых кадров на конец моего документа, а затем обнаружив, что ZERO WIDTH SPACE закручивает макет там, добавляя нежелательное пространство.

Быстрое исправление заключалось в том, чтобы вставить его перед нижним колонтитулом, а не после него. Его все равно спрятано.

Я не могу найти ничего в JQuery, что делает это:

https://github.com/jquery/jquery/blob/master/src/manipulation.js

Так это может быть браузер, который добавляет его.

6

Я приземлился здесь с той же проблемой, а потом понял это сам. Этот странный персонаж появился с моим HTML.

Проблема, скорее всего, ваш редактор кода. Я использую Espresso и иногда сталкиваюсь с такими проблемами.

Чтобы исправить это, просто выделите затронутый код, затем перейдите в меню и нажмите «преобразовать в числовые объекты». Вы увидите числовое значение этого символа; просто удалите его, и он исчез навсегда.

+0

Думаю, мне нужно добавить эту функциональность в Aptana/Eclipse. Благодаря! – Kyle

9

Если вы хотите найти эти невидимые символы в своем редакторе и сделать их видимыми, вы можете использовать поиск регулярных выражений для символов, отличных от ascii. Попробуйте искать [^\x00-\x7F]. Протестировано в IntelliJ IDEA.

+0

Это сработало. Спасибо!! – backdesk

+1

мы не должны комментировать, просто сказать спасибо, но это было так ценно. другие люди должны знать, что это решение, которое они ищут, пытаясь очистить текст от причудливых систем. когда я говорю quirky, я имею в виду Microsoft 360 бесплатный веб-сайт мусора! Я очень хорош с регулярными выражениями, имеющими многолетний опыт, но на самом деле это не имеет особого значения, когда вы сталкиваетесь с тем, что не знаете, как настроить таргетинг. (я пытался работать с 'get_html_translation_table (HTML_ENTITIES)' и 'ord()', но все равно не мог выиграть), это, наконец, дало мне ручку, которую мне нужно было двигаться вперед! СПАСИБО!!! – aequalsb

+0

Некоторые дополнительные пояснения можно найти по адресу http://stackoverflow.com/questions/9868796/how-to-display-hidden-characters-by-default-zero-width-space-ie-8203/36495949#36495949. Рад, что это помогло вам @aequalsb – Micros

-1

Он показывал некоторые странные символы (â € <) , пока я не установить кодировку на UTF-8 в главе HTML файла

<meta http-equiv="content-type" content="text/html; charset=UTF-8"> 

или для HTML5:

<meta charset="UTF-8"> 

Теперь он прозрачен, но показывается в html, когда я использую инспектор.

Удаление всех сценариев со страницы также не удаляло его.

Я проверил его для хрома и IE.