2011-02-15 42 views

回答

1

您还需要启动计时器来调用autoresize代码。在您的应用程序HTML中:

<div id="fb-root"></div> 
<script type="text/javascript"> 
    //<![CDATA[ 
    window.fbAsyncInit = function() { 
     FB.init({appId: "xxxxxxxxxxxxxxx", 
       status: true, cookie: true, xfbml: true}); 
     FB.Canvas.setAutoResize(); 
    }; 

    (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> 

上面的代码会每隔100ms检查一次内容大小。如果你想使用不同的时间,你可以通过毫秒为变量:

window.fbAsyncInit = function() { 
    FB.Canvas.setAutoResize(50); 
}; 

如果你的内容大小仅通过一次手动更改内容大小页面加载后不会改变,你可以节省CPU周期:

window.fbAsyncInit = function() { 
    FB.Canvas.setSize(); 
} 

你甚至可以通过所需的尺寸为参数

window.fbAsyncInit = function() { 
    FB.Canvas.setSize({ width: 520, height: 600 }); 
} 
相关问题