1

我有這個JavaScript用於登錄到Facebook的:Facebook在Chrome上登錄失敗。無對話和Javascript未捕獲的異常

window.fbAsyncInit = function() { 
     FB.init({ 
      appId  : '{{ app_id }}', // App ID 
      status  : true, // check login status 
      cookie  : true, // enable cookies to allow the server to access the session 
      xfbml  : true // parse XFBML 
     }); 

     FB.getLoginStatus(function(response) { 
      if (response.status === 'unknown') { 
       FB.login({ 
        scope: 'friends_birthday,manage_pages' 
       }); 
      }else{ 
       // Check permissions 
       FB.api('/me/permissions',function(response) { 
        if (!('friends_birthday' in response.data[0] && 'manage_pages' in response.data[0])){ 
         // Permissions not OK 
         FB.ui({ 
          method: 'permissions.request', 
          perms: 'friends_birthday,manage_pages' 
          },function(response) { 
         }); 
        } 
       }); 
      } 
     }); 

     FB.Canvas.setAutoGrow(); 
     }; 

     // 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/all.js"; 
     fjs.parentNode.insertBefore(js, fjs); 
     }(document, 'script', 'facebook-jssdk')); 

無對話框出現,我得到一個未捕獲的異常的JavaScript錯誤(命名爲「h」顯然)對all.js 76線。

這發生在Chrome上,但不是Safari。是什麼導致了這個問題?

+0

似乎鉻和Facebook不很好地一起玩。我目前遇到了一個問題,我無法在我的計算機上的Chrome中加載「https:// facebook.com」。有關於這些問題的討論非常多,但我一直無法找到解決方案,而不是「刪除Chrome用戶個人資料」。 – cpilko 2013-04-04 13:35:35

+0

嗯,我已經使用了許多擁有Facebook功能並且在Chrome上正常工作的網站。 – 2013-04-04 13:48:36

+0

@MatthewMitchell,您是否安裝了任何擴展程序,例如Facebook Disconnect?在隱身窗口中運行時是否會遇到同樣的錯誤?另外,你是從一個本地html文件或服務器託管的頁面測試這個嗎?當您的起始協議是'file:'(而不是'http:s:')時,'js.src =「//connect.facebook.net ...」'行中可能存在問題。 – Noyo 2013-04-07 14:38:23

回答

3

我想這是因爲你的FB.login功能這是錯誤的,這裏是一個小的修復/例如:

FB.login(function(responseAuth) { 
    if (!responseAuth.authResponse) { 
     console.log('Something went wrong...'); 
     return false; 
    } 
}, { scope: 'email' }); 
+1

謝謝,你是對的。雖然我遇到了阻止彈出窗口的問題,所以我現在使用重定向到www.facebook.com/dialog/oauth。 – 2013-04-08 16:12:10

+0

不客氣;) – 2013-04-08 17:18:54

相關問題