FB.login弹出窗口不再适用于Safari mac?

时间:2013-02-05 19:53:14

标签: javascript facebook facebook-graph-api safari

其他人不再在Safari中获得弹出式窗口?

以下是一些在Safari中无效的示例代码。它是通过单击链接启动的,因此弹出窗口阻止程序不应阻止它。有什么想法吗?

在线示例:

http://users.telenet.be/prullen/fbtest.html

请注意,这不会运行预期的行为,因为它在另一个域上并且具有不正确的应用ID。但是这个例子唯一重要的是显示弹出窗口。

<script type="text/javascript">
var fbLoaded = false;
var doReLogin = true;

function createAccessToken(){   
if (!fbLoaded) {
    FB.init({
    appId      : 'xxx', // App ID
    status     : true, // check login status
    cookie     : true, // enable cookies to allow the server to access the session
    xfbml      : true  // parse XFBML
    });
}

fbLoaded = true;

FB.getLoginStatus(function(response) {      
    if (response.status === 'connected') {
        getExtendedAccessToken(response.authResponse);
    } else {
        FB.login(function(response) {
            if (response.status == 'connected') {
                if (response.authResponse && response.authResponse.accessToken) {
                    getExtendedAccessToken(response.authResponse);
                } else {
                    alert('You cancelled login or did not fully authorize.');
                }
            } else {
                alert('To use you have to create an access token.');
            }
        }, {scope: 'read_stream'});
    }
 }, true);
}

function getExtendedAccessToken() {
}
</script>

<p style="text-align:center;"><a href="#" onclick="createAccessToken();return false;" class="connect">Connect With FaceBook</a></p>

1 个答案:

答案 0 :(得分:0)

您可以检查有关阻止弹出窗口的设置吗? 这个问题:Facebook Login not open in Safari/ iPhone和你一样,我想。