Полосы прокрутки в приложении Facebook iframe снова

Я сделаю одно и то же дважды с двумя разными результатами!!!
Я создал здесь магазин, и он отлично работает
ссылка на приложение: https://www.facebook.com/stlocarina/app_365351356883221

И код для отключения полос прокрутки:

     <div id="fb-root"></div>
    <script src="https://connect.facebook.net/en_US/all.js"></script>
    <script>
  window.fbAsyncInit = function() {
    FB.init({
      appId : '365351356xxxxxx', //Your facebook APP here
      cookie : true // enable cookies to allow the server to access the session
    });
  }

  window.onload = function() {
    FB.Canvas.setAutoGrow(91);
  }
</script>

После того, как я попробовал тот же код здесь, у меня есть полосы прокрутки.

ссылка на приложение в ФБ: https://www.facebook.com/AshevilleAleTrail/app_420678397982002

Вот код, который я использую (это не совсем работает), чтобы попытаться автоматически изменить размер:

    <div id="fb-root"></div>
<script type="text/javascript">
  window.fbAsyncInit = function() {
    FB.init({
    appId      : '420678397xxxxxx', // App ID
      channelUrl : '//www.publicityresultshosting.com//channel.html', // Channel File
  status     : true, // check login status
  cookie     : true, // enable cookies to allow the server to access the session
  xfbml      : true  // parse XFBML
    });

  };

 // Load the SDK Asynchronously
  (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>


<script type="text/javascript">
    window.fbAsyncInit = function() {
        FB.init({appId: '420678397xxxxxx', status: true, cookie: true, xfbml: true});
        FB_RequireFeatures(["CanvasUtil"], function(){ FB.XdComm.Server.init("xd_receiver.htm");
            FB.CanvasClient.startTimerToSizeToContent(); });
           FB.Canvas.setAutoResize(true,500);
    };
    (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>

Любые идеи о том, как решить эту проблему?


person Leaky Eddie    schedule 23.10.2012    source источник
comment
ртфм? (setAutoResize устарел и больше не используется) developers.facebook.com/ документы/ссылка/javascript/   -  person Simon Boudrias    schedule 24.10.2012


Ответы (1)


Вы должны установить размер, и после загрузки страницы вы можете запустить setAutoGrow() внутри обратного вызова.

FB.Canvas.setSize({ width: 810, height: 950 });

FB.Canvas.setDoneLoading( function(response) {
    FB.Canvas.setAutoGrow();
});
person Philip    schedule 24.10.2012