"fb:"命名空间代表什么?

10
可能是文档中的错误,或者只是我的理解有误,但无论哪种情况,我认为看到同一fb命名空间的几个不同定义是令人困惑的:
  • xmlns:fb="http://www.facebook.com/2008/fbml"
    这里被给出作为示例。
  • xmlns:fb="http://ogp.me/ns/fb#"
    在生成的XFBML代码中这里显示。
那么开发者应该使用哪一个?

非常好的问题,在Facebook开发者文档中仍然缺乏关于这个主题的详细说明。非常感谢你,伙计。 - Stef Hej
4个回答

6

fb名称空间类似于您的应用程序名称。

例如,如果您的应用程序名称为testapp,则其画布URL将是

apps.facebook.com/testapp/

希望这有所帮助。

编辑:在开发者屏幕上有一个名称空间字段,我的信息是关于它的。


我看到过这个,但我认为它在这里不相关 - 我的意思是官方的fb:命名空间。 - Martynas Jusevičius
按照这个提示做了,但对我来说没有任何意义。 - Stef Hej

5

我今天在移动黑客马拉松上问了一位Facebook工程师。

他建议使用第二个:xmlns:fb="http://ogp.me/ns/fb#",可以在此处生成的XFBML代码中显示:http://developers.facebook.com/docs/reference/plugins/like/

因为第一个是用于已弃用的FBML。

(如果我错了,这个信息是直接来自Facebook工程师的。)


1

我相信你现在应该使用

<html xmlns:fb="http://ogp.me/ns/fb#">

这是他们beta插件的xfbml选项卡示例代码中使用的内容,因此我认为这是最新的。在您发布之前,我从未见过它被使用,这意味着它比2008年的Facebook命名空间更新。请参见此处链接


也许这与FBML的弃用有关: http://developers.facebook.com/docs/reference/fbml/ - Martynas Jusevičius
如果不确定,可以查看Facebook正在做什么。他们自己不使用<html xmlns:fb="http://ogp.me/ns/fb#">示例)。 - thdoan
@10basetom 这个回答是来自2011年的,所以可能已经过时了。但我也要强调最好的地方是看文档,而不是Facebook.com本身的源代码(我假设这就是你想要的),因为推荐的做法和公司实际做的并不总是一样的。特别是他们可能会尝试一些还不可用的新功能,或者他们可能会缓慢地采用自己的最佳实践(尽管Facebook发布了相当多的内容)。事实上,我甚至不确定您是否仍需要此命名空间声明。 - TommyBs

0

xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml"> 这两个都与开放图谱协议有关。 我的理解是,xmlns属性允许为标签和属性添加命名空间信息。


你的理解是正确的,但它并没有澄清哪一个是正确的使用方式。你不能有两个具有相同前缀的命名空间声明。 - Martynas Jusevičius

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接