多Html<;头>;在浏览器中,由DreamWeaver bom表引起

多Html<;头>;在浏览器中,由DreamWeaver bom表引起,html,safari,xhtml-1.0-strict,Html,Safari,Xhtml 1.0 Strict,我正在使用DreamWeaver编写xHtml文档。在程序中,代码是有效的,但当我在inspect元素中上载代码时,我看到了双标记,当我右键单击以查看源文件时,代码似乎没有问题 是因为我用的是dreamweaver吗?有什么不对劲? 第一个错误是:“遇到额外的问题。将属性迁移回原始元素并忽略标记。”-在第3行中 守则: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/x

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

是因为我用的是dreamweaver吗?有什么不对劲? 第一个错误是:“遇到额外的问题。将属性迁移回原始元素并忽略标记。”-在第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>

标题

非常感谢。

你应该有一个标题元素,你写的东西之间
标记将显示在浏览器的顶部栏中

您应该有一个标题元素,您可以在其中写入内容
在Linux下的Chromium 5.0.307.9(Developer Build 39052)中,标签将显示在浏览器的顶部栏中。我现在不能在Safari中测试它

编辑:建议的测试用例与此问题无关,也看不到任何额外的
标记。然而,我查看了Windows下的Safari和Chrome开发工具以及Firefox中的Firebug,这三种工具都错误地呈现了DOM。只需看一眼,就可以看到第一个
标记已经跳入了主体中

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

WebKit浏览器的开发工具给出了一个错误消息(还请注意jQuery错误消息)。我怀疑是文件开头的错误导致了问题:正如您所看到的,BOM表被移动到文档的
,可能是拖动了
中的几个元素。但是,未关闭的
元素也可能会出现一些问题,尽管浏览器通常不会遇到任何问题。首先清除文件中的BOM表,看看问题是否仍然存在


我看到了另一个错误:那些以
开头的标签在Linux下的Chromium 5.0.307.9(Developer Build 39052)中没有问题。我现在不能在Safari中测试它

编辑:建议的测试用例与此问题无关,也看不到任何额外的
标记。然而,我查看了Windows下的Safari和Chrome开发工具以及Firefox中的Firebug,这三种工具都错误地呈现了DOM。只需看一眼,就可以看到第一个
标记已经跳入了主体中

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

WebKit浏览器的开发工具给出了一个错误消息(还请注意jQuery错误消息)。我怀疑是文件开头的错误导致了问题:正如您所看到的,BOM表被移动到文档的
,可能是拖动了
中的几个元素。但是,未关闭的
元素也可能会出现一些问题,尽管浏览器通常不会遇到任何问题。首先清除文件中的BOM表,看看问题是否仍然存在

我看到了另一个错误:那些以
开头的标记只是确保

</head>

标记在您正在处理的实际文件中有斜杠。这是一个很容易的打字错误。

只要确保你的

</head>


标记在您正在处理的实际文件中有斜杠。这很简单。

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

function removeBOM($str=""){
    if(substr($str, 0,3) == pack("CCC",0xef,0xbb,0xbf)) {
            $str=substr($str, 3);
    }
    return $str;}

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

function removeBOM($str=""){
    if(substr($str, 0,3) == pack("CCC",0xef,0xbb,0xbf)) {
            $str=substr($str, 3);
    }
    return $str;}


我不知道“在程序中代码是有效的”是什么意思。您是否已将实际的源代码粘贴到validator.w3.org中?我看不出错误是什么,但您的头部中应该有一个
title
元素:我认为这是dreamweaver中检查兼容性的一个函数。您在何处看到重复的头部标记?你通过验证器运行代码了吗?@Pekka:我猜她在Safari中看到了,当时她正在使用开发工具检查上传的文件。我怀疑DOM被构建了两次。我不知道“在程序中代码是有效的”是什么意思。您是否已将实际的源代码粘贴到validator.w3.org中?我看不出错误是什么,但您的头部中应该有一个
title
元素:我认为这是dreamweaver中检查兼容性的一个函数。您在何处看到重复的头部标记?你通过验证器运行代码了吗?@Pekka:我猜她在Safari中看到了,当时她正在使用开发工具检查上传的文件。我怀疑DOM被构建了两次。对不起,我的意思是它在Dreamweaver中是有效的。现在我通过validator.w3.org对它进行了测试,它没有报告双头标签。通过Safari开发者的检查,我看到了双头tags@Sophia:你能发布(链接到)你的源代码吗?这使我们更容易发现可能的错误。对不起,我的意思是它在Dreamweaver中是有效的。现在我通过validator.w3.org对它进行了测试,它没有报告双头标签。通过Safari开发者的检查,我看到了双头tags@Sophia:你能发布(链接到)你的源代码吗?这使得我们更容易发现可能的错误。我认为问题在于Twitter小部件。我在头部看到了一些额外的代码(带有结束标记),这就是问题所在。我认为我不应该使用twitter小部件来编写自己的代码。@Sophia:可能是这样,因为验证程序不处理Javascript。Twitter小部件是否放在自己的
iframe
中?不,我只是将脚本放在它自己的div中。我在Safari开发者工具中看到了双头标记,我确信额外的代码来自Twitter小部件。我认为它不知何故在头部添加了一个结束标记。它在头部添加了额外的脚本和css样式表链接(我的意思是它在联机时添加了代码)。@Sophia:是的,我明白了,我只是把脚本放在JSI中