我喜欢以HTML 4.01的形式提供页面,因为XHTML在某些浏览器中并不是真的被视为XHTML,但Facebook's OpenGraph meta tags要求:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:og="http://ogp.me/ns#"
xmlns:fb="http://www.facebook.com/2008/fbml">
但由于页面的DOCTYPE不是XHTML,如果 xmlns
在那里是否重要,是否应将页面改为DOCTYPE XHTML?
(实际上,如果页面是HTML, xmlns
有点令人困惑,因为它不是真正的XML,但Facebook页面没有讨论如何在HTML 4.01页面中添加元标记)
3 回答
对于HTML 4.01严格:
对于HTML 4.01 Trasitional:
您在facebook示例中看到的xmlns内容是XML命名空间,其目的是允许开发人员将自定义信息包含到HTML文档中 .
可以把它想象成文件系统中的文件夹 .
所以,当facebook宣布:
他们定义了一个“文件夹”,其中存储了自定义标签/属性/属性,因此:
...其中重要的部分是“fb:admins”与在你的硬盘上有这个相同:
其中包含USER_ID值 .
所以这只是一种保持数据组织和分离的方法 .
希望这能为你解决问题 .
如果添加xmlns属性,它将无效HTML 4.01,但它很可能不会影响渲染 .
如果我是你,我不会使用HTML 4.01 . HTML 5是新标准,您应该使用它 .
这些是XML命名空间定义,它们作为避免XML元素名称冲突的方式而存在 .
由于这是facebook的协议,因此它们是定义命名空间的协议 .
它与页面的服务方式“无关” .