2011-08-12 7 views
2

私はファンページを介してのみ実行するFacebookブックアプリケーションを持っています。アプリへ
移動:http://apps.facebook.com/imageassistant/(あなたはこれをチェックするためにファンページを持っている必要があります)
Facebookのiframeアプリケーションウィンドウのサイズを変更するには

私はあなたが私を実行する場合(固定幅値と同じくらい私はできる限り私のキャンバスページの高さを高くする必要がありますあなたが表示されますアプリケーション)

は私が私のアプリ
に私のすべてのページのサイズを変更する必要がfbmain.phpファイル

//index.php 
<?php 
include_once "fbmain.php"; // this file do all authentication parts 
//some codes 
?> 

が含まindex.phpファイルを持っている私はいくつかのコードを見つけましたfacebook developer page

window.fbAsyncInit = function() { 
    FB.Canvas.setSize(); 
} 

// Do things that will sometimes call sizeChangeCallback() 

function sizeChangeCallback() { 
    FB.Canvas.setSize(); 
} 

この

FB.Canvas.setSize({ width: 640, height: 480 }); // Live in the past 

からこれに関連するSしかし、私は私のアプリでこれらのコードを使用する方法がわからないと私はそれらをどこに置くべきか。 私はこのコードを私のアプリケーションのすべてのファイルに入れましたか?
デベロッパーアプリページのアプリ設定も変更する必要がありますか? (これを行う前にスクロールバーを表示するIFrameのサイズまたは自動サイズ変更)
どこに配置すればよいのですか?
注:私は、PHPのSDK

答えて

3

を使用していますしかし、私は私のアプリでこれらのコードを使用する方法がわからないと、私はそれらをどこに置くべきか。

以下、これを行うのに有効ないくつかの方法が一つだけありますされています

<!doctype html> 
<html xmlns:fb="http://www.facebook.com/2008/fbml"> 
    <head> 
     <!-- YOUR HEADER CONTENT --> 
    </head> 
    <body> 
     <div id="fb-root"></div> 

     <!-- You Page Content HERE --> 

     <script> 
      window.fbAsyncInit = function() { 
      FB.init({appId: 'your app id', status: true, cookie: true, xfbml: true}); 
      FB.Canvas.setSize(); 
      }; 
      (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> 
    </body> 
</html> 

私は私のアプリではそれぞれ、すべてのファイルにこのコードを入れているのですか?

iFrameのサイズを変更したい場合は、この種のコードを各ページに含める必要があります。

私のデベロッパーアプリのページでもアプリの設定を変更する必要がありますか?

この機能を利用するには、デベロッパーアプリで自動サイズ変更オプションを選択する必要があります。


コンテンツのサイズが動的である場合は、FB.Canvas.setAutoResizeとお考えください。

FB.Canvas.setSizeはあなたがそれを遅らせるためのsetTimeoutを使用することができ、その場合には早すぎる発射どこにもaccross問題が来るかもしれない - 私は、最適な程度であることを200msのを見つけた経験から:ちょうど

  window.fbAsyncInit = function() { 
      FB.init({appId: 'your app id', status: true, cookie: true, xfbml: true}); 
      window.setTimeout(
       function() { 
        FB.Canvas.setAutoResize(); 
       }, 
       200 
      ); 
      }; 
+0

もう一度、ありがとうございます。 キャンバスのフィックス幅を設定する方法を教えてもらえますか?(フィックス幅を500にしたいとしましょう) – Roshanck

+0

試しました:FB.Canvas.setSize({width:500}); – jBit

+0

はい、それはworks.tnxです。もう一つの問題。下にスクロールすると、ページが読み込まれてからときどき貼り付くのが見えます(下にスクロールするとページが読み込まれています)。私は再サイズコードなしでこの問題がなかった – Roshanck

1

プロジェクトにはjavascript SDKファイルが含まれています。

そして、scriptタグのsrc属性を使用してはindex.phpを、このコードを書くあなたのindex.phpファイルにし、上記のファイルを含める:

<?php 
     echo '<script type="text/javascript"> 
     window.fbAsyncInit = function() { 
      FB.init({appId:'Your AppID here', status: true, cookie: true, 
         xfbml: true}); 
      FB.Canvas.setSize({ width: 640, height: 720 }); 
      }; 
    </script>';        
?> 

これはすべてのために指定された幅と高さにあなたのキャンバスサイズを設定しますアプリ内の ウェブページ

関連する問題