Что такое код символа 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");      
    });
});​&#8203;
</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.

Другие вопросы по тегам