высота iframe для страницы Facebook - PullRequest
4 голосов
/ 26 августа 2011

Максимальная высота страницы iframe в Facebook составляет 800 пикселей. Есть ли варианты изменить это? Я видел некоторые страницы / приложения глубже 800px

Ответы [ 4 ]

3 голосов
/ 26 августа 2011

Это примечание содержит инструкции о том, как это сделать.Установите для параметров приложения автоматическое изменение размера: enter image description here

Затем вызовите FB.Canvas.setSize () или FB.setAutoResize (), чтобы удалить полосы прокрутки, если они все еще появляются.

1 голос
/ 26 августа 2011

Попробуйте это до конца вашего содержимого iframe:

      <div id="fb-root"></div>
  <script type="text/javascript"> 
   window.fbAsyncInit = function() {

   //Der folgende Code ändert die Grösse des iFrames alle 100ms 
    FB.Canvas.setAutoResize(100);

   };
   (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);  
   }());

  </script>
0 голосов
/ 21 декабря 2011
<script type="text/javascript">

window.fbAsyncInit = function() {

    FB.init({
        appId: 'APP_ID',
        status: false,
        cookie: true,
        xfbml: true
    });

    FB.XFBML.parse();

    FB.Canvas.setSize({ width: '520px', height: '1580px' });        

    FB.Canvas.scrollTo(0,0);
  };
  (function(d){
     var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/en_US/all.js";
     d.getElementsByTagName('head')[0].appendChild(js);
   }(document));

</script>
0 голосов
/ 27 августа 2011

Эндрю Смарт: Я смог воспроизвести вашу ошибку здесь в соответствии с высотой приложения страницы.

Использование одних из приложений моей страницы @ http://www.facebook.com/anotherfeed?sk=app_135669679827333

Я использовал javascript для вычисления высоты внутренней страницы через 7 секунд «7000ms» после загрузки страницы, чтобы избежать ошибок.В нижней части вкладки приложения вы увидите ...

На загрузку этой страницы ушло 1,724007 секунд.W: 520 x H: 800 , где фактический iframe высотой 5704px.

<iframe name="app_runner_4e581c03cfc387e71622269" id="app_runner_4e581c03cfc387e71622269" style="width: 520px; height: 5704px; " frameborder="0" src="http://static.ak.facebook.com/platform/page_proxy.php?v=4#app_runner_4e581c03cfc387e71622269"></iframe>

Кажется, что страница возвращает 800px как высоту, независимо от того, какой длины страница, я считаю,ошибка в page_proxy.php, и, возможно, стоит отправить ошибку в bugzilla.

Код, который я использовал для высоты страницы:

<div id="pagestats"></div>
<script>
<!--                               Hide from non-JS browsers
    var scnWid,scnHei;
    if (self.innerHeight) // all except Explorer
    {
        scnWid = self.innerWidth;
        scnHei = self.innerHeight;
    }
    else if (document.documentElement && document.documentElement.clientHeight)
        // Explorer 6 Strict Mode
    {
        scnWid = document.documentElement.clientWidth;
        scnHei = document.documentElement.clientHeight;
    }
    else if (document.body) // other Explorers
    {
        scnWid = document.body.clientWidth;
        scnHei = document.body.clientHeight;
    }
    setTimeout("document.getElementById('pagestats').innerHTML='W:'+scnWid+' x H:'+scnHei+'';",7000);
// -->
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...