什么是 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>
143661 次浏览

Unicode字符「零宽度空间」(U + 200B)

此字符用于换行控制; 它没有宽度,但是它在两个字符之间的存在并不能防止在对齐时增加字母间距

根据给定的代码示例,该实体在此上下文中是完全多余的。它必须偶然插入,最有可能是由一个漏洞百出的编辑器试图用空格或突出显示做一些聪明的事情,或终端用户使用键盘语言,其中这个字符是本地使用,如阿拉伯语。

ZERO WIDTH SPACE.

我用它作为“空”表单元格的内容,但不知道它在 <script>标记中做什么。

我有这些字符出现在脚本,我不想要他们。我注意到这一点是因为它破坏了我的 HTML/CSS 可视化格式: 它创建了一个新的文本框。

相当肯定是一个漏洞编辑器添加他们... 我怀疑科莫多编辑的 Mac,在我的情况下。

使用 jQuery 添加元素时,会插入 ZERO WIDTH SPACE 字符,这些元素使用 DOM 操作函数,如。之前()和。之后

当我在文档末尾添加隐藏模式对话框时,我遇到了这种情况,然后发现零宽度空间(ZERO WIDTH SPACE)把那里的布局搞乱了,增加了不必要的空间。

快速修复的方法是在页脚之前插入,而不是在页脚之后插入。

我在 jQuery 中找不到任何可以做到这一点的东西:

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

所以可能是浏览器添加的。

我带着同样的问题来到这里,然后自己想明白了。这个奇怪的字符出现在我的 HTML 中。

问题很可能是你的代码编辑器。我使用浓缩咖啡,有时会遇到这样的问题。

要修复它,只需突出显示受影响的代码,然后进入菜单,单击“转换为数值实体”。您将看到这个字符的数值出现; 只要删除它,它就永远消失了。

如果希望在编辑器中搜索这些不可见字符并使其可见,可以使用正则表达式搜索非 ascii 字符。 试着搜索 [^\x00-\x7F]。 在 IntelliJ IDEA 中测试。

它显示了一些奇怪的字符(-) 直到我在 html 文件的头部将字符集设置为 UTF-8

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

或 HTML5:

<meta charset="UTF-8">

它现在是透明的,但是当我使用检查器时仍然显示在 html 中。

从页面中删除所有脚本也没有删除它。

我测试了 Chrome 和 IE。

如果你在某个信息源中看到这些信息,请注意,可能有人试图通过指纹文本文档来揭露泄露信息的人。它还可能试图通过逐字节级别使相同的外观信息不同来绕过垃圾邮件过滤器。

如果您有兴趣了解更多,请参阅 我的文章关于减轻指纹的内容。