2011-10-17 47 views
1

我按照Facebook開發者頁面上的指示進行操作,但這仍然無法驗證。 這是爲什麼?即使澄清Facebook的Open Graph協議,網站也不會驗證

<!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

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"> 
+1

那麼,如果它仍然會產生相同的錯誤,那麼是什麼原因呢? – kotsirokolos

+0

因爲在這種情況下,'meta'屬性永遠不會被允許。我已經用另一個將驗證的文檔類型更新了我的答案。 – animuson