Facebook API 请求对话框不适用于 Safari

问题描述 投票:0回答:1

我有以下代码,用于登录用户并显示“选择朋友进行请求”对话框(“apprequests”):

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
    <head>
    <title>Test</title>

    <script type="text/javascript">
    function facebook(){        
        FB.login(function(response) {
            if (response.authResponse) {
                var access_token = FB.getAuthResponse()['accessToken'];
                FB.ui({
                    method: 'apprequests',
                    message: 'Sample Title', 
                    max_recipients:1
                }, function(response){          
                    console.log('OK');
                });
            }
        }, {scope: 'publish_stream'});
    }
    </script>

    </head>

    <body>
    <p><a href="javascript:facebook();">Test</a></p>
    <div id="fb-root"></div>

    <script type="text/javascript">
    (function(d, s, id) {
      var js, fjs = d.getElementsByTagName(s)[0];
      if (d.getElementById(id)) return;
      js = d.createElement(s); js.id = id;
      js.src = "//connect.facebook.net/es_LA/all.js#xfbml=0&appId=XXXXXXXXXXXXXX";
      fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));
    </script>

    </body>
    </html>

该代码适用于所有主要浏览器(Firefox、Chrome、Opera、IE11、iOS 版 Safari、Android 浏览器)。 Safari(适用于 Mac/PC)是例外:它打开“apprequests”对话框,但该对话框显示为空。如果您更改下拉选项(更改为“邀请好友”,然后再次更改为“所有好友”),好友列表最终会出现。

知道如何修复这个错误吗?

谢谢!

javascript html safari facebook-javascript-sdk
1个回答
6
投票

报告了Facebook-API的错误。正如 mark wiltse 所说:

我们已成功重现此问题,它似乎是一个有效的错误。我们正在将此分配给适当的团队。

Safari无需单独处理。您需要保留此任务,直到 Facebook 开发人员解决此错误。

更新:

根据线程,该错误现已解决。

© www.soinside.com 2019 - 2024. All rights reserved.