【问题标题】:Requests Dialog code does nothing请求对话框代码什么都不做
【发布时间】:2011-12-03 06:54:49
【问题描述】:

这段代码什么都不做。我用我的应用程序 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

更新: 代码在画布上运行良好,但对于页面选项卡,只需加载建议朋友对话框并退出而不发送邀请。

【问题讨论】:

    标签: facebook dialog request


    【解决方案1】:

    有几件事情可能会发生:

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

    祝你好运!

    【讨论】:

    • 你是我的英雄!!!这就是为什么所有样本都不适合我的原因,我正在使用异步加载。我在页面中间包含了这个示例。现在我尝试一个新的页面,一个新的页面并且工作!非常感谢!
    • 很高兴我能帮上忙!如果您的问题已解决,请随时将此问题标记为“已回答”。干杯!
    猜你喜欢
    • 2017-11-06
    • 2016-09-22
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多