我有以下代码,但 FB.login 给出了 FB 未定义 javascript 错误。
我缺少什么?
<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>
SDK 加载后,分配给 window.fbAsyncInit 的函数就会立即运行。加载 SDK 后要运行的任何代码都应放置在该函数内以及调用 FB.init 之后。例如,您可以在此处测试用户的登录状态或订阅您的应用程序感兴趣的任何 Facebook 事件。
尝试在初始化和登录函数之间保留其他初始化代码
或者将FB.login代码保留在$(document).ready中
$(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'});
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)