5

Aşağıdaki kodlarım var ancak FB.login bir FB tanımlı javascript hatası vermiyor.FB, Facebook'ta tanımlı değil. Giriş

Neyi eksik?

<html> 
<body> 
<div id="fb-root"></div> 
<script> 
window.fbAsyncInit = function() 
{ 
FB.init 
({ 
    appId : 'XXXX', 
    status : true, 
    cookie : true, 
    xfbml : true 
}); 
}; 

(function() 
{ 
var e = document.createElement('script'); 
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
e.async = true; 
document.getElementById('fb-root').appendChild(e); 
}()); 



FB.login(function(response) 
{ 
if(response.session) 
{ 
    if(response.perms) 
    { 
     alert('yippee'); 
    } 
    else 
    { 
     alert('oh no'); 
    } 
} 
else 
{ 
    alert('login silly'); 
} 
}, {perms:'email,user_birthday'}); 


</script> 
hello 
<fb:login-button></fb:login> 

</body> 
</html> 

cevap

7

Pencere.fbAsyncInit'e atanan işlev, SDK yüklendiği anda çalışır. SDK'nın yüklenmesinden sonra çalıştırmak istediğiniz herhangi bir kod, bu işleve ve FB.init çağrısından sonra yerleştirilmelidir. Örneğin, kullanıcının oturum açma durumunu test edeceğiniz veya uygulamanızın ilgilendiği herhangi bir Facebook etkinliğine abone olacağınız yerdir. (Belgeyi) inialization ve giriş fonksiyonu arasında

diğer başlatma kodu tutarak Ya Doları cinsinden FB.login kodunu tutmak tarafından

deneyin Eğer çalışırsanız da bu hatayı alabilirsiniz

$(document).ready(function(){ 

FB.login(function(response) 
{ 
if(response.session) 
{ 
    if(response.perms) 
    { 
     alert('yippee'); 
    } 
    else 
    { 
     alert('oh no'); 
    } 
} 
else 
{ 
    alert('login silly'); 
} 
}, {perms:'email,user_birthday'}); 

}); 
5

JS-SDK yüklenmeden önce Sen FB.login çağrısı olmamalı, window.fbAsyncInit özellikle bunun için tasarlanmış. Bu aramayı window.fbAsyncInit işlevine getirecek şekilde hareket ettirirseniz iyi olacaksınız ancak FB.login numaralı telefona çağrı açmanın pop-up pencereyi açtığını ve bunun kullanıcı etkileşimi olmadan yapılacağını muhtemelen çoğu tarayıcı tarafından engelleneceğini unutmayın. Eğer giriş işlemek için FB.login kullanmak istiyorsanız, BTW, zaten kullanıcı linke tıkladığında kez giriş yapıyor fb:login-button var ... click veya sumbit olaylarıyla ilgili

yapmalı.

1

.ready Makinenizde facebook example code'u başlatın (örneğin, kodu .html dosyasında kopyalayıp tarayıcınızda açmaya çalışarak). Bunu sunucunuza yüklemeniz ve oradan çalıştırmanız gerekecektir.