设置页面选项卡内容高度

时间:2013-05-12 06:15:32

标签: height facebook-apps facebook-canvas facebook-page

如何设置来自Google网站的页面标签内容的高度?它工作正常,我只是希望垂直滚动条不长于实际的Facebook页面大小。

我现在使用的代码

<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
  // init the FB JS SDK
  FB.init({
    appId      : '576155032405795',                        // App ID from the app dashboard

  });

  FB.Canvas.setAutoGrow();
};

// Load the SDK asynchronously
(function(d, s, id){
 var js, fjs = d.getElementsByTagName(s)[0];
 if (d.getElementById(id)) {return;}
 js = d.createElement(s); js.id = id;
 js.src = "//connect.facebook.net/en_US/all.js";
 fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>

1 个答案:

答案 0 :(得分:0)

您可能需要查看JavaScript SDKsetAutoGrow()setSize()个功能。两者都可以帮到你,但是你必须从setAutoGrow()的{​​{3}} {/ 3>来判断使用哪一个

  

如果你知道你的内容会改变大小,但你不知道什么时候,这个功能很有用。会有一点延迟,所以如果您知道内容何时更改大小,您应该自己调用setSize(并保存用户的CPU周期)。

setSize()的{​​{3}}

  

每当需要调整大小时调用此方法。这通常意味着,一旦页面加载后,以及每当您的内容大小发生变化时。

所以你需要做出相应的判断。

修改

我希望您在代码中使用setAutoGrow()函数。您需要将此代码放在页面选项卡中呈现的页面中。正如您所提到的那样,您的内容是从Google网站中的网页中检索出来的,那么您需要在此处添加代码。

您必须在body开场代码

之后的页面中插入以下代码
<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
  // init the FB JS SDK
  FB.init({
    appId      : 'YOUR_APP_ID',                        // App ID from the app dashboard
    channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel file for x-domain comms
  });

  FB.Canvas.setAutoGrow();
};

// Load the SDK asynchronously
(function(d, s, id){
 var js, fjs = d.getElementsByTagName(s)[0];
 if (d.getElementById(id)) {return;}
 js = d.createElement(s); js.id = id;
 js.src = "//connect.facebook.net/en_US/all.js";
 fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>

此处channel.html将仅包含以下代码行

<script src="//connect.facebook.net/en_US/all.js"></script>