我在本地开发过程中发现它被插入到页面中。它的行数: 》
这是一个基本页面,通过 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">
哦,它不见了。但也不完全是。检查来源,​
现已更改为​
但它在页面上不再可见。也称为零宽度空间? (经过一番谷歌搜索后)。
为什么会发生这种情况?
最终代码,现在 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 "​" 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 - 为什么 或 ​ 被随机插入到我的 html 正文中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31427080/