我已经创建了一个Facebook应用程序,我正在使用一个标签的iFrame内。IE7 - setAutoGrow不工作
我正在使用Javascript SDK的setAutoGrow函数来使iFrame展开直到内容结束。
从我的观察,setAutoGrow函数不能在IE7中工作,我不明白为什么。所有其他浏览器(包括IE8和9)都能正常工作。
出于测试目的,我创建了1500px的渐变。
举个例子,我会后是什么样子的Chrome。正如你所看到的,梯度可以滚动,直到结束(红色):
现在来在IE7中会发生什么。 iFrame的默认高度为800px(如在应用程序设置中定义的)。您可以看到它停在“绿松石”处,并且setAutoGrow函数不会将其扩展到所需的高度(1500px)。
我的CSS的重要组成部分,如下所示:
body, html {
overflow: hidden;
margin: 0; padding: 0;
}
#wrapper {
margin: 0 auto;
width: 810px;
}
#content {
background: url(../img/bg.jpg) top left no-repeat;
height: 1500px;
}
这是JavaScript代码段,我刚放置在封闭体标签之前和FB-根标签后:
window.fbAsyncInit = function() {
FB.init({
appId : '...',
channelUrl : '...',
status : true,
cookie : true,
xfbml : true
});
FB.Canvas.setAutoGrow();
};
我发现可以追溯到月1日,已通过FB关闭错误报告: https://developers.facebook.com/bugs/209607222498543?browse=search_5009002cb69058a73627413
我已阅读并从以下主题应用提示: Facebook iframe FB.Canvas.setAutoGrow does not auto grow after initial load?
...但似乎没有任何解决的问题。
有没有人有明显的提示,我有监督的东西,或对这个问题的简单的解决方案/解决方法?
当我使用IE7 DebugBar时,我注意到它加载一个名为“dimension_context.php”的URL时出现问题。我将附上截图。
扎染。激进,伙计。 – 2012-08-14 23:31:13
Prolly不会帮助,但值得一试...放在内容容器后:'
我认为你应该将'Canvas Height'设置为'Fluid',但是我认为最好的方法是设置静态高度 - 它风险最小:) – 2012-08-17 11:03:48