首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >#xfbml=1引发问题

#xfbml=1引发问题
EN

Stack Overflow用户
提问于 2011-01-14 20:42:27
回答 2查看 3.3K关注 0票数 1

我的站点上有两种使用xfbml和fbjs的不同机制:

  • an FB :类似于单个条目的标记
  • fb对象用于facebook登录和fb连接

我的问题是当我在页面中包含"all.js“时,登录脚本可以工作,但是fb:like标记不起作用。

当我包含"all.js#xfbml=1“时,fb:like标记再次工作,但现在我的FB对象未定义,我的登录代码也不起作用。

我遗漏了什么吗?

提前感谢你能给予的任何帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-18 02:39:00

您只需要包含一次脚本引用,并在加载页面时在脚本上调用init。您可以将其用于fb:like按钮或登录脚本。

代码语言:javascript
复制
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
  FB.init({
    appId  : 'YOUR APP ID',
    status : true, // check login status
    cookie : true, // enable cookies to allow the server to access the session
    xfbml  : true  // parse XFBML
  });
</script>

关键是将xfbml设置为true ( #xfbml=1就是这样做的)。如果你没有那个设置,那么类似的按钮就不会呈现。

如果您想订阅登录事件,只需在FB.init()调用之后添加以下脚本:

代码语言:javascript
复制
  FB.Event.subscribe('auth.login', function(response) {
    window.location.reload(); // or something else...
  });

这里是您的登录脚本,只有当用户单击链接,按钮等时才会被触发。

代码语言:javascript
复制
function doLogin() {
   FB.login(function(response) {
     if (response.session) {
       if (response.perms) {
         // user is logged in and granted some permissions.
         // perms is a comma separated list of granted permissions
       } else {
         // user is logged in, but did not grant any permissions
       }
     } else {
       // user is not logged in
     }
   }, {perms:'read_stream,publish_stream,offline_access'});
}
票数 1
EN

Stack Overflow用户

发布于 2011-01-24 09:36:24

将这个xmlns添加到html标记中。

代码语言:javascript
复制
xmlns:fb="http://www.facebook.com/2008/fbml"

并包括"all.js“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4695744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档