2016-05-31 116 views
-1

我花了一段時間試圖使基本代碼能夠使用Facebook Graph API。我認爲問題在於,當我單擊按鈕時,該操作從未啓動。我試圖在document.getElementById('login').onclick = function() {中添加警報,但它永遠無法完成。你有什麼想法可能是什麼問題?Facebook Graph API不起作用

謝謝!

下面是代碼( '0000000億' 是不是我真正的應用程序ID,我只是取代它的職位):

<html> 
 
<head> 
 
</head> 
 
<body> 
 
<script type="text/javascript"> 
 
    window.fbAsyncInit = function() { 
 
     var appID = '0000000000000000'; 
 
     FB.init({ 
 
       appId: appID, 
 
       status: true, 
 
       cookie: true, 
 
       xfbml: true 
 
     }); 
 

 
     // This bit adds the login functionality to the login 
 
     // button when api load is complete 
 

 
     document.getElementById('login').onclick = function() { 
 
\t \t alert("test"); 
 
     FB.login(function(response) { 
 
     if (response.authResponse) { 
 
      FB.api('/me', function(info) { 
 
       login(response, info); 
 
      }); \t  
 
      } else { 
 
       //user cancelled login or did not grant authorization 
 
       showLoader(false); 
 
      } 
 
     }, {perms:'read_stream,publish_stream,offline_access'}); 
 
    } 
 
    }; 
 
    (function() { 
 
     var e = document.createElement("script"); 
 
     e.async = true; 
 
     e.src = "https://connect.facebook.net/en_US/all.js?xfbml=1"; 
 
     document.getElementById("fb-root").appendChild(e); 
 
    }()); 
 
</script> 
 
<button id="login" >My login button</button> 
 
</body> 
 
</html>

回答

0

這將是正確的代碼:

document.getElementById('login').addEventListener('click', function() { 
    console.log('test'); 
}); 

的更多信息:https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

+0

ŧ爲您的快速回答。我認爲這是與Firefox一起使用的,不是嗎?我正在使用鉻,但它也沒有工作。 我試圖根據您的要求更改該行,但沒有任何反應...... – Raquel

+0

這與瀏覽器無關。你檢查了瀏覽器控制檯嗎?只有「它不起作用」很難提供幫助。調試你的東西,並閱讀我發佈的鏈接中的信息。正如你所看到的,即使在chrome 1.0中,它也能工作。 – luschn