Facebook登录未定义功能

时间:2013-06-26 19:43:03

标签: javascript facebook

所以我找到了一个关于Facebook登录集成的教程:http://www.excellencemagentoblog.com/facebook-login-integration-website

我一步一步地按照它操作,点击Facebook Login后,Google Chromes开发者工具给我一个错误:

Uncaught TypeError: object is not a function index.php:53 onclick

按钮html是这样的:

<a class="btn btn-success" href='#' onclick='login();'>
      <i class="icon-facebook"></i>
      Facebook Login
</a>

脚本如下,我实在无法分辨出什么是错误的,因为该函数是在脚本中定义的。

<script type="text/javascript">

    window.fbAsyncInit = function() {
       FB.init({
         appId      : ' 163289720517425', // App ID
         channelURL : '', // Channel File, not required so leave empty
         status     : true, // check login status
         cookie     : true, // enable cookies to allow the server to access the session
         oauth      : true, // enable OAuth 2.0
         xfbml      : false  // parse XFBML
       });
    };
    // logs the user in the application and facebook
    function login(){
    FB.getLoginStatus(function(r){
         if(r.status === 'connected'){
                window.location.href = 'php/fbconnect.php';
         }else{
            FB.login(function(response) {
                    if(response.authResponse) {
                  //if (response.perms)
                        window.location.href = 'php/fbconnect.php';
                } else {
                  // user is not logged in
                }
         },{scope:'email'}); // which data to access from user profile
     }
    });
    }
    // Load the SDK Asynchronously
    (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);
    }());
</script>

1 个答案:

答案 0 :(得分:0)

不太确定你在这里遇到的问题....即使我把它煮成只带有警报的功能......它仍然无法正常工作????这意味着它与facebook无关。

无论如何....我就是这样做的....

您正在进行跨域请求...因此您必须注册您的域名....

另外.... FB提供了一个javascript SDK,所以不需要像你一样尝试使用PHP和Javascript ......

window.fbAsyncInit = function() {
// init the FB JS SDK
FB.init({
  appId      : '163289720517425',                        // App ID from the app dashboard
  channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel file for x-domain comms!!
  cookie     : true, // enable cookies to allow the server to access the session
  oauth      : true, // enable OAuth 2.0
  status     : true,                                 // Check Facebook Login status
  xfbml      : true                                  // Look for social plugins on the page
});

// Additional initialization code such as adding Event Listeners goes here

$('.btn-success').click(login);

};

// 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'));

 function login(){
 FB.login(function(response) {
 if (response.authResponse) {
 console.log('Welcome!  Fetching your information.... ');
 FB.api('/me', function(response) {
   console.log('Good to see you, ' + response.name + '.');
  });
 } else {
  console.log('User cancelled login or did not fully authorize.');
 }
 });}