4

目前我正在测试Facebook标签页。我使用的JavaScript SDK与建议异步init方法:Facebook JavaScript SDK FB.Canvas.setSize和setAutoGrow不能在IE7/8中工作

window.fbAsyncInit = function() { 
     FB.init({ 
      appId  : app_id, 
      status  : true, 
      cookie  : true, 
      oauth  : true, 
      xfbml  : true 
     }); 


     FB.getLoginStatus(loginStatus); 
     FB.Canvas.setAutoGrow(); 
     FB.Canvas.setSize({height: 1200 }); 


    }; 

    (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)); 

我有问题IE7/8其中setAutoGrow的setSize没有响应。我的标签页是不是调整大小的全部内容。相反,在IE浏览器的控制台我得到这个错误,每当我打电话或者setAutoGrow或的setSize:

SCRIPT438: Object doesn't support this property or method all.js, line 15 character 3916 

我在Chrome/FF/IE9 PC/MAC测试,这和所有工作正常,只有IE7/8给我的这些问题, 。任何人都知道这些是FB的JS SDK的已知错误还是我做错了什么?

回答

0
<script type="text/javascript"> 
    FB.Canvas.setSize({ width: 520, height: 1400 }); 
    window.fbAsyncInit = function() { 
     FB.Canvas.setAutoResize(); 
    } 
</script> 

在关闭body标签之前使用它并将其放在正确位置。

也确保你有身体标签也这里面的标记:

<div id="fb-root"></div> 
<script type="text/javascript" src="//connect.facebook.net/en_US/all.js"></script> 
+9

-1 setAutoResize()被depraceted /删除(http://developers.facebook.com/docs/reference/javascript/ FB.Canvas.setAutoGrow /) –