即使澄清了Facebook的Open Graph协议,网站也不会验证

时间:2011-10-17 00:37:04

标签: html facebook-graph-api w3c-validation

我按照Facebook Developers Page的说明进行操作,但这仍然无法验证。 这是为什么?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:og="http://ogp.me/ns#"
      xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta property="og:image" content="image.png" >
more meta
</head>
<html>

1 个答案:

答案 0 :(得分:1)

xmlns属性仅在XHTML文档中允许,您不能在HTML中指定。尝试:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

此外,即使将文档类型更改为XHTML,property元素仍然不允许使用meta属性。

以下XHTML仅为property属性生成单个错误:

<!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"
  xmlns:og="http://ogp.me/ns#"
  xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta property="og:image" content="image.png" />
<title>title</title>
</head>
<body>body</body>
</html>

修改:我找到了一个可以使用的文档类型,它将通过W3C检查程序。看来这个文档类型已经使用了XHTML 1.1,即使标题是1.0(不确定)。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">