2011-12-03 48 views
2

此代码不执行任何操作。我用我的应用程序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

UPDATE: 代码是伟大的工作帆布但页面标签只加载建议朋友对话框并退出,而不发送邀请。

回答

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未定义”,那么你只需确保在用户事件(如上面的链接)上有请求弹出触发器,或者在异步回调。

祝你好运!

+0

你是我的英雄!那就是为什么所有的样本都不适合我,我正在使用异步加载。我将这个例子包含在我的页面中间。现在,我尝试一个新的页面,一个新的和工作!非常感谢! –

+0

很高兴我可以帮忙!如果您的问题已解决,请随时将此问题标记为“已回答”。干杯! – thaddeusmt

相关问题