3

私は自分のページで Facebook アプリを開発しています https://www.facebook.com/BLOWUPPARTYOFFICIAL/app_449233448431335

ただし、ページは上にスクロールせず、ページのサイズも変更されません (常に垂直スクロールバーが表示されます)。

Windows の Chrome と Firefox では動作しますが、理由はわかりません。Mac の Safari、Chrome と Firefox では動作しません。

キャンバスの高さを流動的で「800 px に固定」に設定しようとしましたが、何も変わりません。

私は SSL 証明書を使用していません。https://secure.social-server.com/v2/を使用しています。これが問題でしょうか?

FB.Canvas.scrollToとを使用しようとする複数のページの 1 つのコードを次に示しますFB.Canvas.setAutoGrow()

<body>

<?php

$id = $_GET['id'];
?>

<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/it_IT/all.js#xfbml=1&appId=449233448431335";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

<script type="text/javascript">
window.fbAsyncInit = function() {
    //Your app id must be added there to work
    FB.init({appId: 'xxxxxxxxxxxx', status: true, cookie: true, xfbml: true});
    //Resize the iframe when needed
    FB.Canvas.setAutoGrow(true);
    FB.Canvas.scrollTo(0,0);
};

</script>

<br /><br /><br />
<div class="invia-box">
.......

FacebookのJavaScript SDKのバグですか??

4

1 に答える 1

0

それはFB.Canvas関数の問題ではありません...

1) 他のスクリプトは、Facebook スクリプトの前にエラーを引き起こします。

2) スクリプトの宣言が正しくありません

試す:

 <script>
window.fbAsyncInit = function () {
    FB.init({
        appId: 'YOUR_ID', // App ID
        status: true, // check login status
        cookie: true, // enable cookies to allow the server to access the session
        xfbml: true  // parse XFBML
    });

    FB.Canvas.setAutoGrow(true);
    FB.Canvas.scrollTo(0,0);

};

// Load the SDK Asynchronously
(function (d) {
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
    if (d.getElementById(id)) { return; }
    js = d.createElement('script'); js.id = id; js.async = true;
    js.src = "//connect.facebook.net/en_US/all.js";
    ref.parentNode.insertBefore(js, ref);
}(document));
</script>

私のためにうまく働く

于 2015-04-08T19:03:13.987 に答える