// JavaScript Document // This is called with the results from from FB.getLoginStatus(). function statusChangeCallback(response) { $('#LiFullbg').fadeIn(500); fb_login(response); } // This function is called when someone finishes with the Login // Button. See the onlogin handler attached to it in the sample // code below. function checkLoginState() { FB.getLoginStatus(function(response) { statusChangeCallback(response); }); } window.fbAsyncInit = function() { FB.init({ appId : '1136003943104680', cookie : true, // enable cookies to allow the server to access // the session xfbml : true, // parse social plugins on this page version : 'v2.5' // use graph api version 2.5 }); // Now that we've initialized the JavaScript SDK, we call // FB.getLoginStatus(). This function gets the state of the // person visiting this page and can return one of three states to // the callback you provide. They can be: // // 1. Logged into your app ('connected') // 2. Logged into Facebook, but not your app ('not_authorized') // 3. Not logged into Facebook and can't tell if they are logged into // your app or not. // // These three cases are handled in the callback function. /*FB.getLoginStatus(function(response) { statusChangeCallback(response); });*/ }; function fb_login(type) { FB.login(function(response) { if (response.authResponse) { var auth = response.authResponse; //console.log(response.authResponse); //console.log('Welcome! Fetching your information.... '); FB.api('/me', function(response) { //console.log('Good to see you, ' + response.name + '.'); if(type=='login'){ fb_finish(response.id); }else{ jQuery.ajax({ url: '../../_ajax.php', type: 'POST', data: { ajax: "facebook_login_checking", accessToken: auth.accessToken, userID: response.id }, dataType: 'html', //dataType (default: Intelligent Guess (xml, json, script, or html)) timeout: 10000, error: function (result) { console.log(result.responseText); }, success: function (result) { $('#LiFullbg').fadeOut(500); if(result == 'false'){ $('#fbError').show(); }else if(result == 'true'){ $('#fbError').hide(); fb_finish(response.id); } } }); } }); } else { console.log('User cancelled login or did not fully authorize.'); } }, {scope: 'public_profile,email'}); } // Load the SDK asynchronously (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/en_US/sdk.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); // Here we run a very simple test of the Graph API after login is // successful. See statusChangeCallback() for when this call is made. /* function testAPI(authResponse) { console.log('Welcome! Fetching your information.... '); FB.api('/me', function(response) { //console.log(authResponse); //console.log(response); console.log('Successful login for: ' + response.name); document.getElementById('status').innerHTML = 'Thanks for logging in, ' + response.name + '!'; jQuery.ajax({ url: '_ajax.php', type: 'POST', data: { ajax: "facebook_login_checking", accessToken: authResponse.accessToken, userID: response.id }, dataType: 'html', //dataType (default: Intelligent Guess (xml, json, script, or html)) timeout: 10000, error: function (result) { //alert('Error Occur. Please try again.'); console.log(result.responseText); }, success: function (result) { //$('#loading').slideUp(100); console.log(result); $('input[name="facebook_id"]').val(result); $('#LiConnectFB').val('CONNECTED'); } }); }); }*/ function fb_finish(id){ $('input[name="facebook_id"]').val(id); $('#LiConnectFB').val('已連結'); if($('#LiLoginForm').size() ==1){ $('#LiLoginForm').submit() } }