我即将在我的网站中加入 Like 按钮 - 这将是我第一次加入 Facebook 功能 - 并且想要一些关于是使用 XFBML 选项还是 Iframe 选项的指导。似乎 XFBML 为未来提供了更多的灵活性,但是 a) 这种方法有什么缺点,b) 兼容 HTML5 的版本是否更好?谢谢。
3 回答
XFBML 不会消失,它与 FBML 不同。我也对此感到困惑,因为他们所有的社交插件示例代码仍然为您提供 xfbml 选项。
见https://developers.facebook.com/blog/post/568/
请注意:我们弃用 FBML 不会影响 XFBML(扩展 Facebook 标记语言)。XFBML 是一组 XML 元素,可以包含在您的 HTML 页面中以显示社交插件。当您的页面被加载时,文档中的任何 XFBML 元素都将由 JavaScript SDK 处理,从而在您的页面上呈现相应的插件。在 FBML 被弃用后,JavaScript SDK 将继续支持 XFBML(除了用于在我们的服务器上执行 FBML 的 fb:serverFbml 元素)。
HTML5 / XFBML / IFRAME?我不认为这有什么不同。一旦 facebook api 被初始化,所有这些最终都会成为 iframe。如果您使用 firebug 或 chrome 检查元素,您可以看到这一点。也许不符合标准,xfbml 版本可能更高效,因为通过标记名获取一堆元素比通过类名更快。
HTML5 版本的警告是,如果您计划订阅插件的事件,则需要在初始化 api 时添加一个频道文件。没有它,xfbml 版本可以正常工作(至少在撰写本文时)。
如果您希望网站中的代码快速且非侵入性,请使用 IFrame,但 SEO 可能会受到影响。
如果您想添加更多功能,请使用 XFBML 或 HTML5。但这需要使用包括 JS SDK,但恕我直言,从长远来看它会更好
FBML 将在未来 6 个月内消失,请参阅https://developers.facebook.com/docs/reference/fbml/,因此这不是一个好的长期选择。(FBML 和 XFBML 不一样。)XFBML 是一种有效的方法,但语法需要一些时间来适应。需要在您的网页上运行解析代码,这没什么大不了的,但对于某些网站所有者而言。
HTML5 是我这样做的方式,但需要在您的网页上运行解析代码,这没什么大不了的,但对于某些网站所有者来说。
iFrame 选项效果很好,但与任何其他方式一样,请务必检查 Facebook 以查看他们是否会弃用它。