Javascript SDK を使用するアプリがあり、高さは最初に によって決定されFB.Canvas.setSize();
ます。これは正しく機能しています:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '223615011031939',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
// channelUrl : 'http://www.yourdomain.com/channel.html', // Custom Channel URL
oauth : true //enables OAuth 2.0
});
FB.Canvas.setSize();
};
(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
</script>
しかし、ページに拡張するコンテンツがあり、初期化後に設定された iFrame サイズよりも高さが大きくなるとします。FB.Canvas.setAutoGrow();
さまざまなパラメータを渡して使用してみましたが、更新ループが発生し、そのたびに高さが少しずつ拡張されます。
setAutoGrow
だから私の質問は、設定された間隔ではなく、コンテンツが大きくなったときにのみiFrameのサイズを変更して、関数を適切に機能させるにはどうすればよいですか? 設定された間隔でしか更新できない場合は、コンテンツが実際に大きくなったときにのみ更新してください。
よろしくお願いします!