我的一切似乎都运行良好。
我只能建议
- 以异步方式初始化 javascript sdk,并将其代码放在 <body> 标记下方,以使其有时间加载。“它确实在 14 次尝试中失败了 1 次,这就是我建议的原因
。https://developers.facebook.com/docs/reference/javascript/
- 使用频道 html 文件来加快 Internet Explorer 的加载速度。
这是我如何使用解析 xfbml 和异步 javascript 呈现登录按钮的示例。
<div id="loginbutton"></div>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '135669679827333',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
channelUrl : 'https://anotherfeed.com/emo/channel.html', // channel.html file
oauth : true // enable OAuth 2.0
});
function loginbutton(){
var loginb=document.getElementById('loginbutton');
loginb.innerHTML='<div class="fb-login-button" data-show-faces="false" data-width="200" data-max-rows="1" data-autologoutlink="true" data-scope="read_stream,user_likes,publish_stream,publish_actions,read_friendlists,user_photos,user_groups,user_interests,user_videos"></div>';
FB.XFBML.parse(loginb);
};
loginbutton();
};
// 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#xfbml=1&appId=135669679827333";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>