2011-12-25 122 views
0

我想知道我應該在哪裏放置的FB.login functione在我的web應用程序,因爲在IE 8在哪裏放置函數的代碼的FB.login

運行時是一個錯誤「FB是未定義」但是,在我刷新之後,錯誤消失了。

+0

你可以發佈你的代碼片段或你的代碼結構嗎? – Shaunak 2011-12-25 11:09:28

回答

0

檢查這一項:

FaceBook Login Button Error: FB.login() called before calling FB.init()

你應該異步加載FB庫。 (獨立的) 一旦加載=> window.fbAsyncInit可以運行,並且不會再有偶爾的加載行爲。

<script type="text/javascript"> 
window.fbAsyncInit = function() { 
    FB.init({appId: 'MYAPPID', status: true, cookie: true, xfbml: true});   
}; 
(function() { 
    var e = document.createElement('script'); e.async = true; 
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
    document.getElementById('fb-root').appendChild(e); 
}()); 

// Once all is loaded 
$(window).load(function(){ 
    $("#myButton").click(function(){ 
     FB.login(function(response) { 
      //User logged in! 
      if (response.session) { 
       alert('YAY!'); 
      } 
     }, {perms:'email,read_stream,publish_stream'}); 
    }); 
}) 
</script> 
+0

但是,放置頁面時會觸發該功能。我想通過點擊一個按鈕來觸發該功能。 – 2011-12-25 10:54:26

+0

「FB.login會打開一個彈出窗口,因此當綁定到用戶驅動的點擊時,您應該只調用FB.login。大多數瀏覽器阻止彈出窗口,除非它們是從用戶事件發起的,例如單擊按鈕或鏈接。」 ===>那麼,如果我想要從用戶點擊啓動的功能,我應該在哪裏放置代碼? – 2011-12-25 11:04:21

+0

哦,你可以混合使用jquery ...我會更新...秒 – 2011-12-25 11:46:24

相關問題