这是一个新事物。至少在IE8中,getting a不支持all.js中的方法,并且似乎在FB.Canvas.setAutoResize()上崩溃了;
这阻止了我们的自动调整大小在IE中工作,而我似乎无法在不抛出某种异常的情况下获得工作的解决方案。
window.fbAsyncInit = function() {
FB.init({
appId : js_fb_app_id,
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
oauth : true
});
FB.Canvas.setAutoResize();
};发布于 2011-09-09 06:29:33
使用window.fbAsyncInit钩子执行FB.Canvas.setAutoResize();
window.fbAsyncInit函数将在加载Facebook库时执行,而不是在加载整个页面时执行。
当页面没有完全加载时,FB.Canvas.setAutoResize();将无法正常工作,因为它不知道您的内容的正确高度。当页面完全加载时,可以使用window.onload执行FB.Canvas.setAutoResize();。
试试这个:
window.fbAsyncInit = function() {
FB.init({
appId : js_fb_app_id,
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
oauth : true
});
};
window.onload=function(){
FB.Canvas.setAutoResize();
}发布于 2011-09-09 06:34:07
记住以异步方式加载javascript文件这意味着它只会在加载完整个文件之后执行,这可能是您的情况,import语句应该如下所示:
<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>希望这对您有帮助!:)
https://stackoverflow.com/questions/7355175
复制相似问题