Javascript Facebook:如何删除应用程序选项卡中iFrame的垂直滚动条

Javascript Facebook:如何删除应用程序选项卡中iFrame的垂直滚动条,javascript,facebook,iframe,scrollbar,Javascript,Facebook,Iframe,Scrollbar,我已经完成了我的facebbok应用程序,目前在将该应用程序作为facebook应用程序选项卡观看时卡住了…:垂直滚动条显示。 实际上,我使用了以下代码来自动调整应用程序iframe的大小: window.fbAsyncInit = function() { FB.init({appId: FBAPP_ID, status: true, cookie: true, xfbml: true}); FB.Canvas.setAutoResize(100); //FB.Canv

我已经完成了我的facebbok应用程序,目前在将该应用程序作为facebook应用程序选项卡观看时卡住了…:垂直滚动条显示。 实际上,我使用了以下代码来自动调整应用程序iframe的大小:

window.fbAsyncInit = function() {
    FB.init({appId: FBAPP_ID, status: true, cookie: true, xfbml: true});
    FB.Canvas.setAutoResize(100);
    //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);
  }());
当我加载应用程序选项卡时,iframe成功地调整了大小,但是垂直滚动条是可见的。我的应用程序主体的宽度为520px,应用程序设置设置为自动大小和iframe模式。当我将overflow:hidden添加到html元素时,滚动条不可见,但我不想在html标记上使用overflow:hidden,因为该页面也可以作为独立页面使用

有人知道如何让facebook在内容符合iframe高度时隐藏垂直滚动条吗?(或者这是facebook目前的问题(……又一次)

提前谢谢
Denis

转到你的应用程序设置->Facebook集成,选择“IFrame Size”=自动调整大小

只要确保你为body元素设置了溢出:隐藏样式规则。否则firefox有时会决定显示滚动条。

这是我使用的代码,适合我

<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
 appId  : '7575671676127', //enter your app id here
 status : true, // check login status
 cookie : true, // enable cookies to allow the server to access the session
 xfbml  : true// parse XFBML
 });

 FB.Canvas.setAutoResize(7);
 </script>

FB.init({
appId:'7575671676127',//在此处输入您的应用程序id
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true//解析xfbml
});
FB.Canvas.setAutoResize(7);

自从引入iframe选项卡以来,该功能一直存在问题。bug跟踪器包含大量相关报告。基本上,我们的经验是,它完全不可靠。有时它像广告一样工作,有时它只在某些浏览器中工作,有时它根据您加载JavaScript的方式工作K、 有时一种方法有效,而另一种方法无效,有时根本不起作用。

在尝试了这里的所有解决方案后,Firefox中的最后一个不同之处是为
样式添加了
溢出:隐藏

CSS代码如下:

html {
    overflow: hidden;
}

body {
    width: 520px;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

IE7有时也会显示滚动条,除非您设置了
,所以请记住这一点。

实际上FB.Canvas.setAutoResize()现在被称为FB.Canvas.setAutoGrow(); 它每100毫秒刷新一次

所以代码应该看起来不像这个atm

<div id="fb-root"></div>
<script type="text/javascript">
FB.init({
         appId  : '666',//your app id
         status : true,
         cookie : true,
         xfbml  : true
     });
FB.Canvas.setAutoGrow();
</script>

FB.init({
appId:'666',//您的应用id
状态:正确,
曲奇:是的,
xfbml:对
});
FB.Canvas.setAutoGrow();

FB.Canvas.setAutoResize()
应该可以工作,您在没有参数的情况下尝试过吗?是的,我在使用参数的情况下尝试过。如果在facebook中查看页面,请更改facebook页面选项卡位置并应用溢出或捕获,然后应用overflow@ifaour:是的,我现在选择了在facebook上加载页面时使页面溢出的方法。这不是最好的方法是的,但目前它工作正常。我找不到“Facebook集成”选项卡的链接。你能给我一个直接链接吗?这对我很有效(除了Firefox,请参阅@Sandor Toth建议添加溢出:隐藏到body元素),谢谢。这为我修复了Firefox。