我使用 jquery 在我的页面中实现各种功能,其中包括显示和 Conceal div 元素。
现在我还在母版页中添加了 facebook JS SDK,用于检查用户是否已退出 facebook 并进行图形 api 调用。
问题是有时,Facebook 需要一段时间才能响应,而在这段时间,$.ready 上的 jquery Conceal 的 div 元素可以被用户看到。
有什么想法可以改善这一点吗?
最佳答案
好的..所以我终于能够解决这个问题了。您应该异步加载 FB Javascript SDK,如下所示
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({appId: 'your app id', status: true, cookie: true,
xfbml: true});
};
(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>
更多详情请引用http://developers.facebook.com/docs/reference/javascript/
我注意到,所有包含 FB 对象(例如 FB.api 等)的方法都应该与 FB.init 位于同一闭包内,否则 FB 对象未定义。
关于jquery - 将 Jquery 与 facebook JS SDK 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3684281/