1

Facebookアプリのiframeの高さが800pxのままです。Facebook開発者のアプリ管理パネルで2800の固定高に設定しています。.canvas_iframe_utilというスタイルのクラッドが800pxに設定しているので、変更したり編集したりできません。Facebookから入ってくると思います。誰か考えはありますか?

どうもありがとう

4

2 に答える 2

1

この関数を使用して、ボディオーバーフローを非表示に設定してみてください

window.fbAsyncInit = function() {
    FB.Canvas.setSize({ width: xx, height: XX });
}

body{
  overflow:hidden;
}

また、管理パネルで高さを液体に変更することを忘れないでください

于 2012-04-05T10:24:24.900 に答える
1

私は同じ問題を抱えていました。多くの研究開発を行った後、さまざまなブラウザー用に次のソリューションを思いつきました。そのため、すべてのブラウザーの html と body に異なるスタイルを実装しました。現在、すべてのブラウザで動作しています:)

<?php
$u_agent = $_SERVER['HTTP_USER_AGENT'];
if(preg_match('/Firefox/i',$u_agent))
{
 $style_overflow = "overflow:hidden;";
}
else
{
    $style_scroll = "scroll='no'";
}
?>

<html style="<?php echo $style_overflow; ?>" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns='http://www.w3.org/1999/xhtml'>
<!---other html code -->
<body style="<?php echo $style_overflow; ?>" <?php echo $style_scroll;?>>       

<script>
var fbAppId = '<?php echo FB_APP_ID?>';

window.fbAsyncInit = function()
{
    FB.init(
        {
            appId: '<?php echo FB_APP_ID ?>',
            status:true,
            cookie: true,
            xfbml: true, 
            oauth: true
        }
    );


     function sizeChangeCallback() {

        FB.Canvas.setAutoGrow();
    }
     FB.XFBML.parse();

     FB.Canvas.setAutoGrow(); 


};
(function()
{
    var e = document.createElement('script'); e.async = true;
    e.src = document.location.protocol +
    '//connect.facebook.net/en_US/all.js'; //hi_IN for language plugins
    document.getElementById('fb-root').appendChild(e);
}()
);

于 2012-04-05T10:49:14.633 に答える