2012-08-16 48 views
1

最近发生了这个问题,我不知道为什么。我没有改变我的代码,所以我假设Facebook与它有关。FB.setSize或FB.setAutoGrow不适用于页面标签的高度应用

我做的应用程序,以适应pagetabs在Facebook上,并调整我一直用下面的方法iframe的高度:

<!DOCTYPE HTML> 
<html> 
<head> 
<!-- Lots of code --> 
</head> 
<body> 
<!-- Lots of code --> 
<div id="fb-root"></div> 
<script type="text/javascript"> 
    window.fbAsyncInit = function() { 
    FB.init({ 
    appId: '00000000000000' // A real ID of course 
    }); 
    FB.Canvas.setAutoResize(); 

    }; 
    (function(d){ 
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; 
    if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/sv_SE/all.js"; 
    ref.parentNode.insertBefore(js, ref); 
    }(document)); 
    </script> 
</body> 
</html> 

正如你可以看到我使用的FB.Canvas.setAutoResize方法来调整iframe的大小。现在,我知道这个方法正在被删除,但我试图使用setAutoGrow()和setSize()并传入一个特定的高度和宽度,但即使这样做也不行。而我创建的所有应用程序,如果iframe的高度仅为800像素,那么现在使用其中一种方法工作得很好的应用程序现在看起来都很糟糕。

帮助非常感谢! 问候

+0

检查应用程序的设置,有设定固定的宽度或帆布的高度的选项,你应该使用液/自动 – derki 2012-08-16 10:20:57

+0

我已经试过了。我曾尝试将其设置为固定和流畅。什么都没发生。 – 2012-08-17 11:14:59

回答

3

试试这个

<div id="fb-root"> 
</div> 
<script type="text/javascript" language="javascript" src="http://connect.facebook.net/en_US/all.js"></script> 
<script type="text/javascript" language="javascript"> 
    FB.init({ 
     appId: 'APPID', 
     status: true, // check login status 
     cookie: true, // enable cookies to allow the server to access the session 
     xfbml: true// parse XFBML 
    }); 
    window.fbAsyncInit = function() { 
     FB.Canvas.setSize(); 
    } 

    FB.Canvas.setAutoGrow(7); 
</script> 
+0

非常感谢!我应用了你的代码,它工作。然后当我改回我的代码时,它也起作用了。猜猜这是缓存或什么的问题! – 2012-08-17 11:20:42

相关问题