【发布时间】:2014-04-08 21:59:49
【问题描述】:
我的页面位于here 如您所见,它看起来工作不正常。如果您尝试在旧版浏览器中打开它,这一点会变得非常明显(这是最初让我感到厌烦的原因)。
我检查了来自 chrome 的解释源代码,它显示了以下内容:
<html>
<head>
<style type="text/css"></style>
</head>
<body>
<title>Internet adgang - Hurtig opsætning - Ansatte</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
等等。
似乎有什么东西正在关闭我的 head 标签,导致所有错误:
我完全不知道是什么原因造成的。
你可以看我的源代码here(我已经打乱了PHP):
上面的代码不包含我的正文代码,因为我很确定这与头部标签突然关闭无关。
Here 是可以正常工作的页面的一些来源:
我对此完全感到困惑,我不知道该怎么做,也不知道是什么原因造成的。 有什么想法吗?
解决方案
在 Buttc4k3 和 vogomatix 的帮助下,我终于找到了解决方案。正如 buttc4k3 所说,文件中隐藏了一个非法的“零宽度无空格”字符,该字符未在我的 sublime 文本编辑器中显示。仅当您在 Notepad++ 中打开文件时才会显示。我不明白为什么这个字符会出现在谷歌浏览器中,而不是我的源代码中,但是在谷歌搜索之后,我发现保存在 UTF-8 WITH BOM(字节顺序标记)中的文件会将 BOM 保存为零宽度无空格字符!这是 vogomatix 救了我的地方,并告诉我我的文件是用 BOM 保存的,在没有 BOM 的情况下重新编码后它工作正常。
所以 - 如果你和我有同样的问题 - 保存你的文件而不使用 BOM 编码(这可以在 notepad++ 中完成)。
【问题讨论】:
-
始终将 php 代码放在 head 标签的上方或下方。尝试解决它。
-
看起来您有答案,但您很困惑为什么会以这种方式工作。如上所示,我希望您了解代码正常工作的原因pastebin.com/j6FZYPM8。
-
非常挑剔但 img 标签在 HTML(5) 中不会关闭,因此它们应该是 而不是
标签: javascript php html css head