javascript - 为什么 或 &#8203 被随机插入到我的 html 正文中?

标签 javascript html encoding utf-8

我在本地开发过程中发现它被插入到页面中。它的行数: ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​》

这是一个基本页面,通过 CodeKit 托管在本地 Web 服务器上。但是,当我通过在资源管理器中双击该页面直接从电脑作为 file://加载页面时,也会出现此问题。

最初,该文件包含:

<html>
  <head>
    <script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
    <script>
      /* Some JS */
    </script>
  </head>
  <body>
  </body>
</html>

我很困惑,所以我尝试向其中添加文档类型 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

仍然没有运气,然后通过谷歌搜索我注意到有关字符集的信息,所以我添加了 UTF-8。 <meta charset="UTF-8">哦,它不见了。但也不完全是。检查来源,​现已更改为&#8203但它在页面上不再可见。也称为零宽度空间? (经过一番谷歌搜索后)。

为什么会发生这种情况?

最终代码,现在 Chrome 开发工具检查器中显示零宽度空间。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <meta charset="UTF-8">
    <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
    <script type="text/javascript">
      /* With or without JS code in these, the issue occurs */
    </script>
  </head>
  <body>
    Hello World
  </body>
</html>

进展: 我最终删除了所有 JS,但保留了脚本标签,并设法将其范围缩小到由 <script></script> 引起的。标签。即使是空的时候。如果没有这些,奇怪的字符将不会显示在页面上或检查器中。

为什么会发生这种情况?我知道最佳实践是使用外部 JS 文件,但为什么会发生这种情况。很奇怪。

相关问题可以引用这里,有一点帮助,但还是没有解决,因为问题和我的不一样:Why is "&#8203;" being injected into my HTML?

更新 1 哎呀。菜鸟错误。脚本标签不是自动关闭的。已更改,但问题仍然存在。更正了上面的最终代码。

更新2 根据我下面的回答,问题已通过解决方法修复。但没有找到任何解释为什么会发生这种情况。

更新3 有些人仍在对此进行投票,所以我觉得我必须解释一下。是的,获得高票的答案之一概述了关闭标签的拼写错误。是的,就我而言,在复制到 SO 时这是一个拼写错误。原始代码没有自闭合标签。不管怎样,它对OP问题没有影响,这就是为什么这些随机字符出现的原因。

最佳答案

您的 html 脚本部分无效(格式不正确)。你有:

<script src="https://code.jquery.com/jquery-2.1.1.min.js" />
<script>
</script>

应该是:

<script src="https://code.jquery.com/jquery-2.1.1.min.js">
</script>

关于javascript - 为什么 或 &#8203 被随机插入到我的 html 正文中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31427080/

相关文章:

javascript - 在 Earth Engine Javascript API 中按 ID 加入两个要素集合

javascript - 单击父复选框时选中所有选中的框

javascript - 如何在 Plottable.js 中在 y 轴上添加水平线

java - 通过 native JDBC Informix 驱动程序获取错误编码的数据

javascript - 加载具有样式和功能的选择选项

javascript - 从 javascript 获取隐藏值 HTML 属性

html - 为什么这个 <p> 标签只在 Firefox 中看起来有一个边距?

sorting - Base64 编码是否保留字母顺序?

java - 使用 HTML 实体转义字符串时,如果我使用 UTF-8,是否可以安全地跳过 Unicode 127 以上的编码字符?

javascript - 上传图片时控制图片的宽度和高度