首先,我会用“firebug”之类的东西检查我的 iframe HTML,检查所有 div 并验证 firebug 左侧的“布局”选项卡。你会看到元素的大小、边框、填充边距等等,检查一切是否正确。
现在发生在我身上的事情是,来自 facebook 的“自动调整大小”在某些浏览器上无法正常工作,因此它计算错误高度,并且右侧仍然有一个滚动条,所以由于这个滚动条,你的内容变得太大,你也会得到一个水平滚动条。
我对此的解决方案是自己指定 iframe 的高度,而不是使用自动调整大小的东西,这是执行此操作的代码(在关闭之前放在页面末尾</body>
):
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({appId: '{{fbapp_id}}', status: true, cookie: true,xfbml: true});
window.setTimeout(function() {
FB.Canvas.setSize({height:900});
}, 250);
};
(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>
这里我选择的高度是“900”,但你必须设置自己的高度(你的 iframe 内容的高度 + 一些安全边距,比如 50px 左右)
此外,您必须{{fbapp_id}}
用您的真实 Facebook 应用程序 ID 替换。
我希望这有帮助。