我有一个包含多个页面的 facebook 标签。第一页上一切正常,iframe 完美调整大小,但在内容小于第一页的第二页上,iframe 不会移动它,它与第一页保持相同的高度。起初它还停留在页面底部,但 FB.Canvas.scrollTo(0,0); 解决了这个问题。我尝试使用特定大小调用 setSize ,但没有任何效果。也在这里尝试了大部分解决方案,但没有任何效果。
这是我在关闭正文之前在每一页上调用的代码
<script type="text/javascript">
window.fbAsyncInit = function() {
<cfif structKeyExists(cgi,'https') AND cgi.https IS 'ON'>
FB._https = true;
</cfif>
FB.init({
appId : '<cfoutput>#appId#</cfoutput>',
cookie : true, // enable cookies to allow the server to access the session
oauth : true, // OAuth 2.0
status : true, // check login status
xfbml : true // parse XFBML
});
FB.getLoginStatus(function(response) {
// user is connected but we don't have access to his province
if(typeof response.status == 'string' && response.status == 'connected') {
$('#erreurProvinceFB').css('display', 'block');
$('.fb_iframe_widget').css('display', 'none');
$('.sepOU').html(' ');
}
});
FB.Event.subscribe('auth.login', function(response) {
<!--- met en post le nouveau signedRequest car l'ancien qui est en session n'est plus valide et que
facbook ne renvoie pas un nouveau acces token si le tab est juste rafraichie et non reloader au complet. --->
$('#signed_request').val(response['authResponse']['signedRequest']);
$('#loginSignedRequest').submit();
});
FB.Canvas.setSize({ width: 520, height: 500 });
//FB.Canvas.setSize();
FB.Canvas.setAutoGrow();
FB.Canvas.scrollTo(0,0);
$("body").css("overflow", "hidden");
};
(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());