Facebook Canvas App高度

时间:2013-12-17 11:38:48

标签: facebook facebook-javascript-sdk

我创建了一个Facebook Canvas应用程序,并将高度和宽度设置为流畅。然而,不是Facebook显示100%x 100%iframe,我得到的是100%宽和800px高帧。页面内容的其余部分正在被Facebook切断。这是我的下面的代码,当我将Facebook网站应用程序设置高度属性设置为流体时,任何人都可以找出为什么我没有得到高度为100%的iframe?

我甚至尝试过高度:100%用于html和div标签,但仍然没有成功。我已经得出结论,它必须再次与Facebook有关,以及他们如何处理他们的Canvas应用程序设计。

这次Facebook搞砸了什么......

另一方面,任何人都有任何带有CSS的Canvas HTML代码,在这些代码中他们可以让他们的Facebook应用程序居中,无滚动条,流畅的高度....

这是我的代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://ogp.me/ns/fb#">
<head>
  <title>My New App</title>
  <style>
        html {
           width: 750px;
           height: 100%;
        }

        #wrapper {
            width: 750px;
            height:100%;
            border:1px solid #000;
            margin: 0 auto;
            text-align:left;
        }
   </style>
</head>
<body>
    <div id="fb-root"></div>
    <script type="text/javascript">
      window.fbAsyncInit = function() {
        FB.init({
            appId: '<%= config.appID %>',
            status: true, // check login status
            cookie: true, // enable cookies to allow the server to access the session
            xfbml: true, // parse XFBML
            channelUrl: document.location.protocol + '//<%- config.siteUrl %>channel.html', // Channel File
            oauth: true
        });
        FB.Canvas.setAutoGrow();

        // Listen to the xfbml.render and set canvas size according to ajax rendered updates
        FB.Event.subscribe('xfbml.render', function(response) {
            FB.Canvas.setAutoGrow();
        });
      };

      // 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>

    <div id="wrapper">
      <h1>My New App</h1>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <h1>My New App</h1>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <h1>My New App</h1>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <h1>My New App</h1>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <h1>My New App</h1>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <h1>My New App</h1>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <h1>My New App</h1>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <h1>My New App</h1>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <h1>My New App</h1>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <h1>My New App</h1>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <h1>My New App</h1>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <h1>My New App</h1>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <h1>My New App</h1>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
      <p>Helo world!</p>
    </div>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

我发现了问题:

在Facebook上的应用程序设置中有以下两个属性:

Canvas Url和Secure Canvas Url。

不幸的是我把它放到Canvas Url中:https://www.myweb.net/ 而不是:http://www.myweb.net/

当我从浏览切换到安全浏览时,会发生Javascript错误,因为它试图通过安全的https连接加载Facebook资源。换句话说,由于该错误,FB.Canvas.setAutoGrow()无法运行,因此我的Canvas页面似乎切断了内容,而实际上它根本就没有运行。

欢呼声