Facebook xd_arbiter.php JSON.parse

时间:2013-09-08 17:48:23

标签: facebook facebook-graph-api facebook-javascript-sdk

我已经组建了一个测试网站,尝试让facebook登录使用以下代码,但是我在FireBug中出现了两个错误,当我忽略它们时似乎没有影响网页的功能并继续。

HTML:

<div class="fb-login-button" show-faces="true" autologoutlink="true" width="200" max-rows="1"></div>
<div id="FBLogin"><a id="FBLoginLnk" href="#" title="Login with Facebook"><img src="./login-button.png" /></a></div>

使用Javascript:

$(document).ready(function(){

    $.ajaxSetup({ cache: true });
      $.getScript('//connect.facebook.net/en_UK/all.js', function(){
      FB.init({
          appId: "012345678901234",
          status: true, // check login status
          channelUrl : '//website.co.uk/bla/channel.php', // Channel File
          cookie: true,
          xfbml: true,  // parse XFBML
          oauth: true
      });    

        FB.Event.subscribe('auth.statusChange', function() {
            console.timeStamp("Login even")

            FB.getLoginStatus(function (response) {
                if (response.status === 'connected') {
                    console.log("Connected Event");
                    // Good to go       
                } else if (response.status === 'not_authorized') {
                    console.log("Not Authorized Event");
                    NotLoggedIn();  
                }else{
                    console.log("Not Logged In Event");
                    NotLoggedIn();              
                }
            });

        });

        FB.getLoginStatus(function (response) {
                console.timeStamp("getLoginStatus")
            if (response.status === 'connected') {
                    console.log("Connected"); 
            } else if (response.status === 'not_authorized') {
                    console.log("Not authorised");
                    NotLoggedIn();
                    window.location = 'https://graph.facebook.com/oauth/authorize?client_id=012345678901234&scope=publish_stream&redirect_uri=http://www.website.co.uk/bla';
            } else {
                    console.log("User not logged in status unknown");
                    NotLoggedIn();
                    window.location = 'https://graph.facebook.com/oauth/authorize?client_id=012345678901234&scope=publish_stream&redirect_uri=http://www.website.co.uk/bla';
            }
        });

  });

    $('div#FBLogin').click(function(){
        window.location = 'https://graph.facebook.com/oauth/authorize?client_id=012345678901234&scope=publish_stream&redirect_uri=http://www.danthegeek.co.uk/bla';            
    });


});

function NotLoggedIn(){
    console.timeStamp("notLoggedIn Called");
    // Reset Website
}

我得到的两个错误是xd_arbiter.php?version = 27,似乎被调用了。

JSON.parse:字符串文字中的错误控制字符 第13行

JSON.parse:JSON数据后出现意外的非空白字符 第13行

概述,目的是让页面自动重定向到Facebook登录页面(不是弹出窗口,因为这在移动设备上无法正确显示)。如果已经登录,则不会发生重定向,但是用户可以退出,这将导致显示登录按钮,当单击该按钮进入Facebook登录页面时,再次没有弹出窗口。这一切似乎都运行正常,但我不确定代码结构是否应该如何。我不相信这是错误的一部分。我真的很想使用facebook社交按钮登录但无法将其重定向到facebook登录页面,它似乎只会导致弹出窗口,这就是我用Facebook按钮显示自己登录的原因。

如果不是因为firebug停止代码一直说错误我甚至不知道有问题。

我的测试页面上的javascript非常复杂,但即使上面的内容被删除并运行,我也遇到了这个问题。

非常感谢任何帮助。

0 个答案:

没有答案