Javascript 间歇式车架高度

Javascript 间歇式车架高度,javascript,facebook,facebook-javascript-sdk,facebook-iframe,facebook-java-sdk,Javascript,Facebook,Facebook Javascript Sdk,Facebook Iframe,Facebook Java Sdk,我有以下代码: <script type="text/javascript"> window.fbAsyncInit = function() { FB.Canvas.setSize({ height: 6000 }); } window.fbAsyncInit(); </script> 起初我认为这是我如何嵌入Facebook Javascript SDK的一个错误,但为什么它有时能工作,而在其他时间却不能工作?可能是某种“竞争条件

我有以下代码:

<script type="text/javascript">  
     window.fbAsyncInit = function() { 
     FB.Canvas.setSize({ height: 6000 }); 
} 
window.fbAsyncInit();   
</script>
起初我认为这是我如何嵌入Facebook Javascript SDK的一个错误,但为什么它有时能工作,而在其他时间却不能工作?

可能是某种“竞争条件”,所以只要等到定义了FB:

window.fbAsyncInit = function FbAsynchInit() { 
     if (typeof FB != "undefined" && FB) {
         FB.Canvas.setSize({ height: 6000 }); 
     } else {
         window.setTimeout(FbAsynchInit, 10);
     }
} 

当不定义FB时,它将每10毫秒检查一次,直到定义为止。

请参见此处:谢谢,但我已经尝试了此处的建议,但没有任何效果。我的问题也不是Chrome独有的,IE和FF中的行为是一样的……那么我的答案中建议的代码呢?你也试过了吗?@tomis Facebook指望他们的脚本加载速度足够快,可能有时候情况并非如此,只有在主脚本尝试调用后才会加载。请理解。。。只是想知道为什么facebook不关心是否有退路。。。
window.fbAsyncInit = function FbAsynchInit() { 
     if (typeof FB != "undefined" && FB) {
         FB.Canvas.setSize({ height: 6000 }); 
     } else {
         window.setTimeout(FbAsynchInit, 10);
     }
}