Facebook页面的iframe高度

时间:2011-08-26 18:47:00

标签: facebook iframe

Facebook中iframe页面的最大高度似乎为800px。有没有改变它的选择?我见过一些比800px更深的页面/应用程序

4 个答案:

答案 0 :(得分:3)

note有关于如何执行此操作的说明。将应用设置设置为自动调整大小: enter image description here

然后调用FB.Canvas.setSize()或FB.setAutoResize()来删除它们仍然出现的滚动条。

答案 1 :(得分:1)

尝试使用iframe内容的结尾:

      <div id="fb-root"></div>
  <script type="text/javascript"> 
   window.fbAsyncInit = function() {

   //Der folgende Code ändert die Grösse des iFrames alle 100ms 
    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>

答案 2 :(得分:0)

Andrew Smart:我能够根据页面应用的高度在此处复制您的错误

使用我的页面应用@ http://www.facebook.com/anotherfeed?sk=app_135669679827333

我在页面加载完成后使用javascript来调整内页高度7秒“7000ms”以避免错误。在页面选项卡应用程序的底部,您将看到...

此页面加载时间为1.724007秒。 W:520 x H:800 ,其中实际iframe的高度为5704px。

<iframe name="app_runner_4e581c03cfc387e71622269" id="app_runner_4e581c03cfc387e71622269" style="width: 520px; height: 5704px; " frameborder="0" src="http://static.ak.facebook.com/platform/page_proxy.php?v=4#app_runner_4e581c03cfc387e71622269"></iframe>

页面似乎返回800px作为高度,无论页面有多长,我认为这是page_proxy.php中的错误,并且可能值得提交给bugzilla的错误。

我用于页面高度的代码:

<div id="pagestats"></div>
<script>
<!--                               Hide from non-JS browsers
    var scnWid,scnHei;
    if (self.innerHeight) // all except Explorer
    {
        scnWid = self.innerWidth;
        scnHei = self.innerHeight;
    }
    else if (document.documentElement && document.documentElement.clientHeight)
        // Explorer 6 Strict Mode
    {
        scnWid = document.documentElement.clientWidth;
        scnHei = document.documentElement.clientHeight;
    }
    else if (document.body) // other Explorers
    {
        scnWid = document.body.clientWidth;
        scnHei = document.body.clientHeight;
    }
    setTimeout("document.getElementById('pagestats').innerHTML='W:'+scnWid+' x H:'+scnHei+'';",7000);
// -->
</script>

答案 3 :(得分:0)

<script type="text/javascript">

window.fbAsyncInit = function() {

    FB.init({
        appId: 'APP_ID',
        status: false,
        cookie: true,
        xfbml: true
    });

    FB.XFBML.parse();

    FB.Canvas.setSize({ width: '520px', height: '1580px' });        

    FB.Canvas.scrollTo(0,0);
  };
  (function(d){
     var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/en_US/all.js";
     d.getElementsByTagName('head')[0].appendChild(js);
   }(document));

</script>