Javascript Facebook';s SetSize将适用于选项卡安装,但不适用于常规视图

Javascript Facebook';s SetSize将适用于选项卡安装,但不适用于常规视图,javascript,facebook,Javascript,Facebook,我对Facebook的FB.Canvas.setSize()功能有严重的问题 我有一些包含大量数据的文件,所以自然地,我想垂直扩展iFrame的大小。以下是我使用的: <script src="http://connect.facebook.net/en_US/all.js"></script> <script type="text/javascript" language="javascript"> FB.init({ appId : '###',

我对Facebook的FB.Canvas.setSize()功能有严重的问题

我有一些包含大量数据的文件,所以自然地,我想垂直扩展iFrame的大小。以下是我使用的:

<script src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript" language="javascript">
FB.init({
    appId  : '###',
    status : true,
    cookie : true // enable cookies to allow the server to access the session
});
FB.Canvas.setSize({ height: 2500 });

FB.init({
appId:“####”,
状态:正确,
cookie:true//启用cookie以允许服务器访问会话
});
FB.Canvas.setSize({height:2500});
当通过在风扇页面上安装选项卡来显示其中一个文件时,这项工作非常有用。然而,当仅仅通过应用程序查看它时,调整大小不会发生

关于Tab与Not Tab安装,我有什么遗漏吗

其他详情: 我在应用程序设置中将“自动调整大小”设置为true,因为这是老板想要的(没有滚动条)。对于GRIN,我注释掉了setSize,并在这些页面的代码中手动添加了FB.Canvas.setAutoResize(false),当不在选项卡安装中时,scrollybars不会显示。这就像当我不在选项卡安装中时,Javascript代码没有被激活

任何建议都将不胜感激

谢谢! 丽莎

编辑:终于实现了这一点@matt nathanson让我走上了正确的道路,但最终的解决方案比他的建议更深入。下面是我最后做的:

<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
    window.fbAsyncInit = function() {
        FB.init({
        appId: '###', 
        status: true,
        cookie: true,
        oauth: true
    });
};
(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);
}());

window.onload = function () {
    FB.Canvas.setSize({ height: 2500 });
}
</script>

window.fbAsyninit=函数(){
FB.init({
appId:“####”,
状态:正确,
曲奇:是的,
真的吗
});
};
(功能(){
var e=document.createElement('script');
e、 异步=真;
e、 src=document.location.protocol+
“//connect.facebook.net/en_US/all.js”;
document.getElementById('fb-root').appendChild(e);
}());
window.onload=函数(){
FB.Canvas.setSize({height:2500});
}
解决方案来源:

试一下

第一组主体{高度:2500px;}

然后把这个插进去:

<script type="text/javascript">
window.fbAsyncInit = function() {
FB.Canvas.setSize({width: 520, height: 2500});
}
// Do things that will sometimes call sizeChangeCallback()
function sizeChangeCallback() {
FB.Canvas.setSize({width: 520, height: 2500});
}
</script>

window.fbAsyninit=函数(){
FB.Canvas.setSize({宽度:520,高度:2500});
}
//做一些有时会调用sizeChangeCallback()的事情
函数sizeChangeCallback(){
FB.Canvas.setSize({宽度:520,高度:2500});
}
试一下

第一组主体{高度:2500px;}

然后把这个插进去:

<script type="text/javascript">
window.fbAsyncInit = function() {
FB.Canvas.setSize({width: 520, height: 2500});
}
// Do things that will sometimes call sizeChangeCallback()
function sizeChangeCallback() {
FB.Canvas.setSize({width: 520, height: 2500});
}
</script>

window.fbAsyninit=函数(){
FB.Canvas.setSize({宽度:520,高度:2500});
}
//做一些有时会调用sizeChangeCallback()的事情
函数sizeChangeCallback(){
FB.Canvas.setSize({宽度:520,高度:2500});
}

Hi@matt nathanson,谢谢你的帮助!不幸的是,这似乎没有什么实际作用。我尝试在加载时调用sizeChangeCallback(),也尝试从锚标记“onClick”调用它(这是我更新的代码:
window.fbAsyninit=function(){FB.init({appId:'####,状态:true,cookie:true});FB.Canvas.setSize({width:520,height:2500})}函数sizeChangeCallback(){FB.Canvas.setSize({width:520,height:2700})
Hi@matt nathanson,谢谢你的帮助!不幸的是,这似乎没有起到任何作用。我尝试在加载时调用sizeChangeCallback(),以及从锚定标记“onClick”调用sizeChangeCallback()。(以下是我的更新代码:
window.fbAsyncInit=function(){FB.init({appId:'####',状态:true,cookie:true});FB.Canvas.setSize({宽度:520,高度:2500});}函数sizeChangeCallback(){FB.Canvas.setSize({宽度:520,高度:2700});}