Facebook iframe FB.Canvas.setAutoGrow在初始加载后不会自动增长?

时间:2012-02-08 16:28:59

标签: javascript facebook facebook-javascript-sdk facebook-iframe

我一直在使用html和css以及facebooks javascript SDK构建一个facebook标签。

我遇到iframe调整大小到内容大小的问题。

我已经设法让它在初始加载时工作很酷,使用下面的脚本...

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://ogp.me/ns/fb#">

-

<div id="fb-root"></div>
<script type="text/javascript">
  window.fbAsyncInit = function() {
    FB.init({
      appId      : '00000000000000', // App ID
      channelUrl : '//www.mywebsite.com/channel.html', // Channel File
      status     : true, // check login status
      cookie     : true, // enable cookies to allow the server to access the session
      xfbml      : true  // parse XFBML
    });

    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>

我的channel.html看起来像这样......

<?php
 $cache_expire = 60*60*24*365;
 header("Pragma: public");
 header("Cache-Control: max-age=".$cache_expire);
 header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$cache_expire) . ' GMT');
 ?>
 <script src="//connect.facebook.net/en_US/all.js"></script>


就像我说初始页面加载大小调整是完美的,但是当我浏览iframe时,它不会自动增长到我的内容。

任何人都可以建议,因为我对这个facebook iframe biz非常新。

提前致谢

1 个答案:

答案 0 :(得分:1)

请检查这些:

A,你在HTML的顶部有<!DOCTYPE html>吗?

B,您的应用是否会生成有效的HTML?以下是验证工具:http://validator.w3.org/