1

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機能しました - 古いキャンバスで機能しました。少なくとも以前は使用していました。

また、コードをヘッダーに配置しても何も変わらず、ボディ領域の最初に配置するのと同じではありません。

4

1 に答える 1

1

これを試して

<div id="fb-root"></div>
    <script src="https://connect.facebook.net/en_US/all.js"></script>
    <script>
      window.fbAsyncInit = function() {
        FB.init({
          appId : 'YOUR APP ID', //Your facebook APP here
          cookie : true, // enable cookies to allow the server to access the session
        });
      }

      window.onload = function() {
        FB.Canvas.setAutoGrow(91);
      }
    </script> 
于 2012-04-05T08:32:30.030 に答える