2012-01-02 63 views
0

我有以下簡單測試頁並嘗試添加FB登錄按鈕。這將成爲站點站點的一部分,而不是畫布應用程序。如果當前用戶已經在FB上登錄,則顯示使用該應用程序的朋友列表,但沒有登錄按鈕。如果當前用戶沒有在FB上登錄,那麼我什麼也得不到。 任何想法? 這是我的頁面...我目前正在localhost下運行它。登錄按鈕在未登錄時未呈現

<body> 
     <div id="fb-root"> 
     </div> 
     <!-- Loading of FB SDK --> 
     <script type="text/javascript"> 
      window.fbAsyncInit = function() { 
       FB.init({ 
        appId: '319067848117743', // App ID 
        channelUrl: 'http://localhost/TestApp/channel.aspx', // Channel File 
        status: true, // check login status 
        cookie: true, // enable cookies to allow the server to access the session 
        xfbml: true // parse XFBML 
       }); 
      }; 

      // Load the SDK Asynchronously 
      (function (d) { 
       var js, id = 'facebook-jssdk'; if (d.getElementById(id)) { return; } 
       js = d.createElement('script'); js.id = id; js.async = true; 
       js.src = "http://connect.facebook.net/en_US/all.js"; 
       d.getElementsByTagName('head')[0].appendChild(js); 
      } (document)); 
     </script> 
     <!-- Display FB Login Button --> 
     <script>  (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 = "http://connect.facebook.net/en_US/all.js#xfbml=1&appId=319067848117743"; 
       fjs.parentNode.insertBefore(js, fjs); 
      } (document, 'script', 'facebook-jssdk'));</script> 
     <div class="fb-login-button" data-show-faces="true" data-max-rows="2" data-scope="user_about_me,publish_stream,read_stream"> 
     </div> 
    </body> 

回答

0

首先你並不需要在異步js loader中加入兩次,只是冗餘代碼是全部。其次,我不知道代碼如何列出朋友,我沒有看到它的代碼。

1)即使該用戶已經登錄,您是否還希望登錄按鈕?您使用的登錄按鈕插件不能以這種方式工作。如果用戶未登錄到您的應用程序,它將只顯示登錄。看到紙條上寫着「注:如果用戶已經登錄,不登錄按鈕顯示」上https://developers.facebook.com/docs/reference/plugins/login/

2)你也說你看不到任何登錄按鈕,當用戶登出Facebook上的。這很奇怪,但沒有看到所有的代碼,我不知道你的問題的那部分幫助。

+0

我不確定哪些代碼是完全重複的。我試圖按照文檔。下面的部分是<! - 顯示FB登錄按鈕 - >我在登錄插件的頁面中找到它。以上代碼我在頁面中找到它描述瞭如何包含FB的jscript SDK,這是作爲登錄插件的先決條件提到的。 關於朋友列表,我正在討論已經使用該應用程序的朋友的照片。 1)也許我錯了,但不管當前用戶沒有在FB上登錄時我應該看到一個按鈕,對吧? 2)這就是我所有的代碼。 – papadi 2012-01-02 19:49:12

+0

您需要比您發佈的更多代碼才能使其工作。我沒有看到任何代碼列出朋友。你能分享一個鏈接到你的頁面,我們可以看看你的代碼嗎? – DMCS 2012-01-02 19:54:26

+0

感謝您的幫助。也許我的代碼是不夠的,但這是我現在所擁有的。你在最初的帖子中看到的一切。只需將其複製到一個空的HTM頁面即可。 – papadi 2012-01-02 23:31:36

0

您的應用程序在沙箱模式?嘗試從應用程序Facebook配置中禁用沙箱模式。