【问题标题】:HTML5 validator failing on Facebook OpenGraph XML Namespace xmlns:ogHTML5 验证器在 Facebook OpenGraph XML 命名空间 xmlns:og 上失败
【发布时间】:2012-01-10 10:19:13
【问题描述】:

尽管我严格遵守 Facebook 文档,但 HTML 5 验证器在我的代码上还是失败了。有各种各样的问题,但让我们从一个例子开始。

我正在关注Facebook "Getting Started" documentation 并使用 th5is 代码:

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:og="http://ogp.me/ns#"
  xmlns:fb="http://www.facebook.com/2008/fbml">

唯一的区别是我在这之前添加了&lt;!DOCTYPE html&gt; 用于 HTML5。通过W3C HTML5 validator 运行它时出现此错误:

 Attribute xmlns:og not allowed here

我能想到的唯一错误是:

  1. Facebook 的文档有误
  2. 我应该在&lt;!DOCTYPE html&gt; 声明中添加某种命名空间。

但是,无论哪种情况,我都不知道解决方法是什么。希望得到一些帮助!

【问题讨论】:

标签: facebook html facebook-opengraph


【解决方案1】:

fb 的文档没有错,但他们打开网络的方法是。这些是 fb 专有属性值,因此它们永远不会验证,除非 w3c 使它们成为标准。这听起来可能令人沮丧,但只要这些是您唯一的验证错误,就不用担心。验证是一个很棒的工具,但请记住,它只是一个工具。

【讨论】:

  • 不推荐,但如果您需要有效的 (x)html 文档。你需要这个 Doctype &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"&gt; 但它不再是 HTML 5.. 因此没有真正的解决方案,对不起!
  • 不错的收获!我不知道那个 DTD。
【解决方案2】:

所以我遇到了同样错误的一个版本,似乎是 3 年后。尝试使用 HTML5 验证我的网站,虽然它是实验性的,但除了这些 xmlns 属性之外,一切都可以验证。

例如..

Error Line 2, Column 105: Attribute xmlns:fb not allowed here. …b="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" >
Warning Line 2, Column 105: Attribute with the local name xmlns:fb is not serializable as XML 1.0. …b="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" >
Error Line 2, Column 105: Attribute xmlns:addthis not allowed here. …b="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" >
Warning Line 2, Column 105: Attribute with the local name xmlns:addthis is not serializable as XML 1.0. …b="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" >

我的代码第2行如下:

2.<html lang="en-US" xmlns:fb="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" >

研究了这个错误,它反映了你的错误,似乎即使在 3 年后,也没有可行的解决方法。但是,当有正确的 HTML5 代码可用时,似乎遵循此技术的插件会这样做。因此,如果在您的网站上执行插件,请确保选择正确的代码,例如以下 facebook 链接:

HTML5 Facebook Info

这至少应该解决您的错误,对于我们这些尝试使用插件来处理多个喜欢、分享和加号的人来说,最好只做每个实例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-05
    • 2012-04-24
    相关资源
    最近更新 更多