Facebook Canvas Application Размер iFrame Showscrollbars Проблема - PullRequest
2 голосов
/ 13 апреля 2011

Я использую Facebook C # SDK в своем приложении ASP.net.У меня есть приложение iFrame, размер iFrame которого установлен на Showscrollbars.Settings Приложение работало до вчерашнего дня, но сегодня iFrame не растягивается до своей ширины (из документации ширина iFrame Facebook составляет 760px Ссылка здесь ).Страница в ширине моего приложения установлена ​​на 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 растягивается по вертикали при увеличении содержимогоЭто круто, но ВЫПУСК это Читайте здесь на StackOverflow .Я работаю над этим.Если кто-нибудь это выяснит, пожалуйста, дайте мне знать.

Ответы [ 2 ]

1 голос
/ 15 апреля 2011

У меня была такая же проблема, и я исправил ее с помощью этого простого кусочка CSS на странице iFrame

body {overflow: hidden;}

все по-прежнему хорошо, без обрезки.просто избавляется от этих надоедливых полос прокрутки!это, безусловно, звучит как ошибка, работало нормально во всех других браузерах, но добавление вышеупомянутого FF 3.6 также имеет преимущество в том, что полосы прокрутки на мгновение не отображаются при загрузке.

0 голосов
/ 15 апреля 2011

Используйте код ниже, и он работает на всех моих приложениях 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>
...