1

我正在使用 DreamWeaver 编写 xHtml 文档。在程序中代码是有效的,但是当我在检查元素中上传它时,我看到了双 <head> 标签,当我右键单击查看源文件时,它似乎没问题

是因为我使用的是dreamweaver吗?有什么问题?第一个错误是:“遇到额外的 <html>。将属性迁移回原始 <html> 元素并忽略标签。” - 在第 3 行

编码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="the content of my doc" />
<meta name="description" content="this is an example document" />
<link rel="alternate" type="application/rss+xml" title="rss feeds" href="linkto/xml/feeds.xml" />
<!-- scripts -->
 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<title>The Title</title>
</head>
<body>
<!-- content -->
</body>
</html>

非常感谢你。

4

4 回答 4

1

Linux 下 Chromium 5.0.307.9(开发者内部版本 39052)没有问题。我现在无法在 Safari 中测试它。

编辑:提议的测试用例与这个问题无关,也看不到任何额外的<head>标签。但是,我查看了 Windows 下的 Safari 和 Chrome 的开发人员工具以及 Firefox 中的 Firebug,这三个工具都错误地渲染了 DOM。只要看看这张图片,就可以看到第一个<link>标签已经跳入了身体。

这个问题也与Javascript无关,因为关闭Javascript时结果是一样的,与源代码相比更加清晰。奇怪我在 Linux 下没有注意到这一点。

WebKit 浏览器的开发者工具提供了更清晰的画面(还要注意 jQuery 错误消息)。我怀疑文件开头的Unicode 字节顺序标记 (BOM)<body>会导致问题:如您所见,BOM 已移动到文档的位置,可能会在其中拖动几个元素<head>。但是,如 W3C 验证器所示,<link>未封闭的元素也可能会产生一些问题,尽管浏览器通常可以毫无问题地处理这个问题。首先删除文件中的 BOM,看看问题是否仍然存在。

我看到另一个错误:那些以开头的标签<meta ...称为元标签,而不是“肉类标签”。;-)

于 2010-02-28T16:06:37.827 回答
0

您应该有一个标题元素,您在<title></title>标签之间写的内容将显示在浏览器的顶部栏中

于 2010-02-28T15:34:38.863 回答
0

只要确保你的

</head>

标签在您正在处理的实际文件中有斜线。这是一个容易的错字。

于 2010-02-28T18:23:53.360 回答
0

要从文档中删除 BOM,您可以使用以下 php 函数:

function removeBOM($str=""){
    if(substr($str, 0,3) == pack("CCC",0xef,0xbb,0xbf)) {
            $str=substr($str, 3);
    }
    return $str;}
于 2010-10-16T15:27:55.417 回答