Facebookでアプリを開発しています。昨日以来、サイズ変更は次のスニペットでうまくいきました: CSS:
body, html { overflow:hidden; width:810px;margin:0; padding:0; border:0; }
body タグの直前:
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript" charset="utf-8">
FB.Canvas.setAutoGrow(true,100);
</script>
Facebook では、高さと幅に固定を選択しましたが、autoGrow のために問題にはなりません。
今日は切れたばかりなので、流体設定を試してみましたが、何も変わりませんでした。body と html の CSS ルールを削除できますが、スクロールバーが追加されます。
つまり、サイズ変更はまったく機能しません。
(おそらく) ページのリロードなしで (JS を介して) アプリのサイズが動的に変更されることを知っておくことが重要です。
コードはまったく変わっていないので、Facebook が何か変わったのではないかと心配しています。
さらに、このjsスニペットも効果なしで試しました(ただし、とにかく同じことを行います):
<div id="fb-root"></div>
<script type="text/javascript">
window.fbAsyncInit = function () {
window.setTimeout(function () {
FB.Canvas.setAutoGrow()
}, 250)
};
(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>
アップデート:
質問には正しく答えられましたが、もう 1 つ注目すべき点があります。 に適用overflow:hidden
すると、ルールからbody
削除した後にhtml
機能しました - 古いキャンバスで機能しました。少なくとも以前は使用していました。
また、コードをヘッダーに配置しても何も変わらず、ボディ領域の最初に配置するのと同じではありません。