Facebook Canvas应用程序iFrame Size Showscrollbars Issue

时间:2011-04-13 15:43:41

标签: facebook iframe facebook-graph-api facebook-c#-sdk facebook-iframe

我在ASP.net应用程序中使用Facebook C#SDK。 我有一个iFrame应用程序,其iFrame Size设置为Showscrollbars。 Settings  应用程序工作正常,直到昨天,但今天iFrame没有延伸到它的宽度(从文档Facebook的iFrame宽度是760px Link here)。应用程序宽度中的页面设置为95%。所以我认为它不是我的应用程序中的宽度问题。  Please see this image。 我必须为我的应用程序使用Showscrollbars选项。   Facebook改变了iFrame应用程序的任何设置吗?请帮助。

更新看起来facebook破坏了某些东西,或者他们正试图摆脱滚动条选项。我必须更改我的应用程序才能使用AutoResize Option。我对我的asp.net应用程序进行了以下更改,除了一个问题之外它工作正常(请参阅问题的底部)

<head runat="server">
  <title></title>
  <script type="text/javascript">
    window.fbAsyncInit = function () {
      FB.Canvas.setAutoResize();
    };
  </script>
</head>
<body>
<div id="fb-root"></div>
  <script src="//connect.facebook.net/en_US/all.js"></script>
  <script>
     FB.init({
                appId: '12345678', //replace with your facebook appid
                cookie: true,
                status: true,
                xfbml: true
              });
  </script>
</body>

当内容增加时,iFrame会垂直拉伸。这很酷但是 问题Read Here on StackOverflow。我正在做。如果有人说出来,请告诉我。

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,并在iFrame页面中用这个简单的CSS修复了它

body {overflow:hidden;}

一切都仍然很好,没有任何切断。只是摆脱那些讨厌的滚动条! 它当然听起来像一个bug,在所有其他浏览器中运行良好,但FF 3.6 添加上述内容还具有不会在负载上暂时显示srollbars的优势。

答案 1 :(得分:0)

使用下面的代码,它适用于我的所有iframe应用:)

<div id="fb-root"></div>
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript">
    FB.init({
        appId: '123456789',
        status: true,
        cookie: true,
        xfbml: true
    });
    FB.Canvas.setAutoResize();

    FB.Array.forEach([200, 600, 1000, 2000, 5000, 10000], function(delay) {
        setTimeout(function() {
            FB.Arbiter.inform("setSize", FB.Canvas._computeContentSize());
        }, delay)
    });
</script>