我有一个包含多个页面的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);
}());
答案 0 :(得分:0)
到目前为止,这种组合对我来说效果很好:
<body style="overflow: hidden;">
...
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '*ID*', // App ID
channelUrl : '/channel.php', // Channel File
status : false, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
if ( window.location.protocol == 'https:' ) {
FB._https = true;
}
FB.Canvas.setAutoGrow();
};
</script>
确保您的FB App ID正确无误。