2012-09-20 71 views

回答

0

只能與Facebook的JavaScript庫做到這一點。使用PHP庫時,你會被重定向到Facebook ...如果他們在Facebook上取消,他們現在離開你的網站。

隨着JavaScript庫,你會得到一個模式窗口,如果他們取消了,就留在你的頁面上。

下面是關於如何使JavaScript的按鈕出現在您的網頁上,並做了簡單的登錄檢查短導語:

<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 

    // Initialize Facebook Connect 
    FB.init({ 
     appId : 'YOUR_FACEBOOK_APP_ID_HERE', 
     status : false, // Check login status 
     cookie : true, // Enable cookies to allow the server to access the session 
     xfbml : true, // Parse XFBML 
     oauth : true 
    }); 

    }; 

    // Get Facebook Connect JS and append it to the DOM 
    (function() { 
    var e = document.createElement('script'); 
    e.async = true; 
    e.src = document.location.protocol+'//connect.facebook.net/en_US/all.js#xfbml=1'; 
    document.getElementById('fb-root').appendChild(e); 
    }()); 

    function fbLoginCheck(response){ 
    if(response.status != 'unknown'){ 
     //reload or redirect once logged in... 
     window.location.reload(); 
    } 
    } 
</script> 

    <a class="fb_button fb_button_medium" 
    onclick='FB.login(fbLoginCheck,{ scope: "user_about_me,user_location,user_birthday,email,publish_stream"})'> 
    <span class="fb_button_text">Join with Facebook</span></a> 
+0

的公平性,我知道用JS仍有不可能不與圖形重定向API。它只能用REST API ... – ToM

+0

你發佈的例子仍然需要重定向。它在FB的應用程序設置中設置。 – ToM

+0

@TomaszŚcisło我只是做一個window.location.reload();但這可能是一個Ajax調用本地php文件,使用facebook php api獲取令牌並將其傳回客戶端。 – Ray

相關問題