此代码不执行任何操作。我用我的应用程序ID替换了YOUR_APP_ID,将此代码输入到一个新文件中,它不产生任何输出。我错过了什么?
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js">
</script>
<script>
FB.init({
appId:'YOUR_APP_ID', cookie:true,
status:true, xfbml:true
});
FB.ui({ method: 'apprequests',
message: 'Here is a new Requests dialog...'});
</script>
我从这里来了: https://developers.facebook.com/blog/post/453
更新: 代码适用于画布,但是对于页面选项卡,只需将建议添加到朋友对话框并退出而不发送邀请。
答案 0 :(得分:4)
可能会发生一些事情:
1)弹出窗口被阻止
要解决此问题,您需要在用户操作上触发请求。否则大多数浏览器会在页面加载时阻止自动弹出窗口。试试这个:
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<a href="#" onclick="apprequest()">Do request</a>
<script>
FB.init({appId:'YOUR_APP_ID', cookie:true,status:true, xfbml:true});
function apprequest () {
FB.ui({ method: 'apprequests',
message: 'Here is a new Requests dialog...'});
}
</script>
另一个技巧是强制它使用未被浏览器阻止的'iframe'显示方法(而不是弹出窗口):
FB.ui({ method: 'apprequests','display':'iframe',
message: 'Here is a new Requests dialog...'});
2) FB JS库尚未加载
如果您使用的是asynchronous loading技术,这实际上只是一个问题,您不在此示例中。但如果你是,并且在JavaScript控制台中看到错误“FB未定义”,那么你只需要确保在用户事件(如上面的链接)上有请求弹出触发器,或者在异步回调。
祝你好运!