【问题标题】:Facebook Canvas App Height less than 800pxFacebook Canvas 应用高度小于 800 像素
【发布时间】:2012-05-10 14:39:15
【问题描述】:

我有 2 个 facebook 应用程序,一个高度为 872 像素,另一个高度为 712 像素。对于 827px 应用程序,我已使用 facebook JS SDK 成功地将应用程序的大小从 800 重新调整为 872px。但是对于 712 像素,我无法将其从 800 像素降低。 facebook 画布应用程序是否有最小高度或我做错了什么?

【问题讨论】:

    标签: facebook-apps


    【解决方案1】:

    显然Canvas APP不能低于800像素。

    【讨论】:

      【解决方案2】:

      您是否尝试过动态设置高度?这对我有用,因为我试图显示高度小于 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);
      }
      

      【讨论】:

        【解决方案3】:

        处理它:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多