2012-03-16 8 views
0

Facebookのiframeタブがあります。 bodyタグと私のページの下部に、このコードでは:私は「隠されたオーバーフロー」:使用Facebookのiframeのスクロールバーまたはページの途中での選択

<div id="fb-root"></div> 
    <script type="text/javascript"> 
     window.fbAsyncInit = function() { 
     FB.init({ 
     appId : 'MY_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.setAutoResize(100); 
     }; 
     (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> 

これは、スクロールバーが削除さとiframeのサイズを変更します。問題は、私のページが約800px(約400pxを残した後)で切断されてしまうことです。私はfacebookの高さを "fluid"に設定しました。他のすべてのブラウザではうまく動作しますが、IE8ではうまく動作しません。

逆の質問として、なぜIEがまだ存在しますか?それは絶対的な最悪の事です。

<!--[if IE]> 
<style> 
body{overflow-y:scroll;} 
</style> 
<![endif]--> 

しかし、それはちょうど、再びスクロールバーを持つに私を取り戻す:とにかく、私は頭にこれを追加しました。 FB.Canvas.setAutoResizeは、このメソッドを使用するために、またFB.Canvas.setAutoGrow

に名前が変更されました

答えて

0

、あなたのアプリケーションの高さは静的ではなく、流体に設定する必要があります。

FB.Canvas.stSize()でもお試しいただけます。

私は、これらのメソッドが少しバグかもしれないが、あなたがそれらを呼び出し続けると、Facebookの親ウィンドウが最終的にメッセージを受け取ることがわかった。この場合、次のようなものを試してみるとよいでしょう:

setInterval(FB.Canvas.setSize, 500); 
+0

ありがとう!私はFacebookのドキュメントのファンではありません。 –

+0

まだ動作しません。 –

+0

は具体的には何も変更されません。 IEでは、コンテンツはまだ切り詰められています。 –

関連する問題