Выбор между полосой прокрутки iframe в Facebook или страницей, обрезанной на полпути - PullRequest
0 голосов
/ 17 марта 2012

У меня есть вкладка iframe в Facebook.Я использовал «overflow: hidden» в теге body и этот код внизу моей страницы:

 <div id="fb-root"></div>
     <script type="text/javascript">  
       window.fbAsyncInit = function() {
        FB.init({
        appId : 'MY_APP_ID',
        status : true, // check login status
        cookie : true, // enable cookies to allow the server to access the session
        xfbml : true // parse XFBML
        });
        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>

Это удаляет полосы прокрутки и изменяет размер iframe.Проблема в том, что моя страница обрезается примерно после 800 пикселей (то есть около 400 пикселей).Я установил высоту в фейсбуке на «жидкость».Он работает абсолютно нормально в любом другом браузере, но не в IE8.

Как побочный вопрос, почему IE все еще существует?Это самая худшая вещь.В любом случае, я добавил это к голове:

<!--[if IE]>
<style>
body{overflow-y:scroll;}
</style>
<![endif]-->

Но это только возвращает меня к наличию полос прокрутки снова.

1 Ответ

0 голосов
/ 17 марта 2012

FB.Canvas.setAutoResize был переименован в FB.Canvas.setAutoGrow

Кроме того, чтобы использовать этот метод, высота вашего приложения должна быть статической, а не плавной.

Вы также можете попробовать FB.Canvas.stSize () .

Я обнаружил, что иногда эти методы могут быть немного ошибочными, но если вы продолжаете вызывать их, родительское окно Facebook в конечном итоге получает сообщение. В таком случае, вы можете попробовать что-то вроде этого:

setInterval(FB.Canvas.setSize, 500);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...