我有这个奇怪的问题。我在后端使用Codeigniter 3.0-dev和Smarty 3.1.4,但我认为它不相关。
我有这个非常简单的html:
<!DOCTYPE HTML>
<html>
<head>
<title>some page</title>
</head>
<body>
asd
</body>
</html>
现在。当我在任何浏览器(试过Opera 10.52,Firefox 7.0.1,Chrome 14和15,IE9)上查看此页面的来源时,标记与上面完全相同。现在,当我使用firebug或chrome的开发工具时,它会移动<body>
中的标题标记,如果我在<head>
中有meta或其他内容,则会移动<body>
中的这些项目以及。 firefox的firebug告诉我这个:
<html>
<head></head>
<body>
<title>test</title>
asd
</body>
</html>
为什么会这样?有什么想法吗?
答案 0 :(得分:6)
如果解析器在移动的元素之前看到某些内容只允许在主体中允许,那么看起来位于标记head
中的元素可能会在DOM中的body
内结束HTML。例如,文件开头的 double BOM(字节顺序标记)可能不会显示在View Source
中,但会导致解析器认为它已输入html正文部分,标记中的所有head
元素都将以DOM中的body
结尾。
答案 1 :(得分:0)
Alohci说,加上Firebug和Chrome调试器经常移动东西以适应自己。在那些调试器中查看时,源会出现错误。