【问题标题】:Set page tab content height设置页面标签内容高度
【发布时间】:2013-05-06 11:08:46
【问题描述】:

如何设置来自谷歌网站的页面标签内容的高度?它工作正常,我只是希望垂直滚动条不要长于实际的 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>

【问题讨论】:

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


    【解决方案1】:

    您可能想查看JavaScript SDKsetAutoGrow()setSize() 函数。两者都可能对您有所帮助,但您必须从setAutoGrow()documentation 中判断使用哪一个

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

    来自setSize()documentation

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

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

    编辑

    我希望您在代码中使用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>
    

    【讨论】:

    • 感谢您的回答。我对编码了解不多,所以如果您不介意,我可能需要一些额外的帮助。我发现了一个类似的问题,你回答了,那里有一段代码可以做我想我想要得到的。我知道我必须使用您建议的任何一个功能,但我不知道在哪里插入代码。正如我在原始问题中所描述的,我的页面选项卡的内容是从 Google 网站上的一个网站中提取的。那是我必须放置代码的地方吗?
    • @ZoltánRegőczy 我已经编辑了我的答案。我想这只是解决您面临的问题。如果遇到任何进一步的问题,请回复
    • 好吧,唯一的问题是,Google 网站不允许上传单个 html 文件。只有我可以将内容复制到新页面。
    • 我还尝试了在您的另一个答案中找到的以下代码,但它也不起作用:
    • 也许甚至不可能将此代码插入 Google 网站。看看这个:使用 HTML 框工具编写 HTML 的提示:来自一个 HTML 框的代码不能与 HTML 框之外的代码交互或引用,包括其他 HTML 框。这是我在这里找到的:support.google.com/sites/answer/2500646?hl=is
    猜你喜欢
    • 1970-01-01
    • 2017-11-23
    • 2013-03-28
    • 1970-01-01
    • 1970-01-01
    • 2017-08-29
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    相关资源
    最近更新 更多