Высота приложения Canvas Canvas менее 800 пикселей

У меня есть 2 приложения facebook, одно из которых имеет высоту 872 пикселей, а другое - высоту 712 пикселей. Для приложения 827 пикселей я успешно изменил размер приложения с 800 до 872 пикселей с помощью facebook JS SDK. Но для 712 пикселей я не смог снизить его с 800 пикселей. Есть ли минимальная высота для приложения facebook canvas или я делаю что-то не так?


person Luis D Urraca    schedule 10.05.2012    source источник


Ответы (3)


Судя по всему, Canvas APP не может опускаться ниже 800 пикселей.

person Luis D Urraca    schedule 17.05.2012

Вы пытались установить высоту динамически? это сработало для меня, поскольку я пытаюсь отобразить несколько страниц высотой менее 800 пикселей. обычная высота вкладок моей страницы была ~ 700 пикселей.

window.fbAsyncInit = function() {
   FB.init({
      appId: window.FB_APP_ID
   });

   // set height dependent on page (min height is 800px) 
   // but we are attempting to get it shorter
   var body_height = $('body').first().outerHeight();

   FB.Canvas.setSize({ 
      height: body_height
   });
}

что также сработало для меня, если не захватить высоту тела, чтобы установить высоту на что-то более короткое, чем любая из ваших страниц при загрузке, а затем запустить функцию setAutoGrow(), чтобы расширить ее до нужной высоты с некоторой задержкой. хотя это приведет к тому, что ваш холст будет иметь начальную заданную высоту (например, 480 пикселей), а затем будет увеличиваться до размера всякий раз, когда срабатывает ваш тайм-аут.

window.fbAsyncInit = function() {
   FB.init({
      appId: window.FB_APP_ID
   });

   FB.Canvas.setSize({ 
      height: 480 // some height shorter than necessary
   });

   setTimeout(function(){
      FB.Canvas.setAutoGrow();
   }, 500);
}
person twmulloy    schedule 06.03.2013

Чтобы справиться с этим:

    FB.Canvas.getPageInfo(
        function(info) {
            // console.log(info);
            if (info.clientHeight< 800) FB.Canvas.setSize({ height: 800 });
        }
    );
person Sebastien Horin    schedule 22.02.2016