Javascript Facebook:如何删除应用程序选项卡中iFrame的垂直滚动条
我已经完成了我的facebbok应用程序,目前在将该应用程序作为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
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。