2

我在我的 ASP.net 应用程序中使用 Facebook C# SDK。我有一个 iFrame 应用程序,其 iFrame Size 设置为 Showscrollbars。 设置 该应用程序直到昨天都运行良好,但今天 iFrame 没有拉伸到它的宽度(来自文档 Facebook 的 iFrame 宽度是 760px链接在这里)。我的应用程序宽度中的页面设置为 95%。所以我认为这不是我的应用程序中的宽度问题。 请看这张图片. 我必须为我的应用程序使用 Showscrollbars 选项。facebook 是否更改了 iFrame 应用程序的任何设置?请帮忙。

更新看起来 facebook 破坏了某些东西,或者他们正试图摆脱滚动条选项。我必须更改我的应用程序以使用 AutoResize 选项。我对我的 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 会垂直拉伸。这很酷,但 ISSUE在 StackOverflow 上阅读的。我正在做。如果有人弄清楚,请告诉我。

4

2 回答 2

1

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

身体{溢出:隐藏;}

一切仍然很合身,没有任何中断。只是摆脱那些讨厌的滚动条!这听起来确实像一个错误,在所有其他浏览器中都可以正常工作,但添加上述内容的 FF 3.6 还具有在加载时不会暂时显示滚动条的优点。

于 2011-04-15T00:56:28.687 回答
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>
于 2011-04-15T01:19:10.753 回答