2011-11-07 4 views
0

これはスクロールバーの問題ではありません。Canvas.setSizeですでに設定されているFacebookのキャンバスサイズを変更します。

  1. あなたは自分のFacebookのキャンバスアプリをロードし、FB.Canvas.setSize({高さ:900})実行します。ここの事はあります。(作品が)

  2. あなたのアプリ(一部のリンク)の別のセクションに移動し、その後FB.Canvas.setSize({高さ:1300})行います。

  3. 第2ステップは機能しません。アプリiframeは900pxの高さのままです。

私が必要とするのは、キャンバスの高さを既に設定した後に動的に変更することです。 Facebookの文書によると、これはうまくいくはずです。キャンバスの高さを変更することができるかどうかは指定されていません。

ページのタブで同じメソッドを試してみましたが、正しく動作していますが、setSize()を使用してタブの高さを適切に変更できますが、キャンバスページの動作が異なります(?)。

<div id="fb-root"></div> 
<script type="text/javascript"> 
<!-- 
window.fbAsyncInit = function() { 
    FB.init({appId: "XXXXXXXXXXXXXXXXXXXXX", 
         status: true, 
         cookie: true, 
         xfbml: true});  
}; 
(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); 
}()); 
window.fbAsyncInit = function() { 
    FB.Canvas.setSize({height:1300}); 
} 
//--> 
</script> 

デザイナー、異なる高さを使ってキャンバスアプリを作って、これまでのところその実装するために痛みをされています:

これは私が右タグを開いた後、使用していたコードがあります。

答えて

1

window.fbAsyncInitに異なる2つの場所に異なるものを割り当てます。 2番目の割り当てを取り除き、FB.initコールの直後にFB.Canvas.setSizeコールを移動する必要があります(またはFB.initコールを置き換えてください。サイズ変更にSDKのみを使用している場合は必要ありません。それと同様にauth stuffをやっています)。

関連する問題