2011-09-09 5 views
0

내 연구에서 마치 이것이 재발하는 문제인 것처럼 보입니다. iframe 크기를 조정하려면 다음 코드를 사용하고 있습니다. 현재 작동합니다 ... iframe을 큰 내용에 맞게 크기를 조절하지만 다시 축소하지는 않습니다.더 작은 내용에 맞게 페이 스북 iframe의 크기를 조정 하시겠습니까?

<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
    /* Init fb Resize window */ 
    FB.Canvas.setAutoResize(7); 
    FB.init({ 
     appId:'<?php echo Yii::app()->params['fbAppId']; ?>', 
      status: true, 
      cookie: true, 
      xfbml: true 
    }); 
    }; 
</script> 

코드는 닫는 body 태그 앞에 html 파일의 맨 끝에 위치합니다.

답변

0

전화를 걸지 마십시오. FB.Canvas.setAutoResize (7); 당신이 FB.init()를 호출하기 전에 또한

당신이 전화를 안 FB.Canvas.setAutoResize (7); 여기

을 window.fbAsyncInit jQuery 사용 적절한 예

window.fbAsyncInit = function() { 
    FB.init({ 
     appId : js_fb_app_id, 
     status : true, // check login status 
     cookie : true, // enable cookies to allow the server to access the session 
     xfbml : true, // parse XFBML 
     oauth : true   
    }); 
}; 
$(document).ready(function(){ 
    FB.Canvas.setAutoResize(); 
}); 

이다. 이 방법을 사용하면 DOM이로드 될 때 페이지가 리사이즈되었는지 확인할 수 있습니다. 이렇게하면 코드를 페이지의 아무 곳에 나 배치 할 수 있습니다.

FB.Canvas.setAutoResize을 700ms로 설정합니다. 그렇게 할 특별한 이유가 있습니까?

<script type='text/javascript'> 
window.onload=function() { 
    FB.Canvas.setSize({width:760,height:document.body.offsetHeight}); 
} 
</script> 

당신은 실제로 FB.init 필요하지 않습니다 당신이 사용하지 않는 : 기본 값은 가장 간단한 방법은 다음과 같이 페이지가 완전히로드되면 이후)에는 setSize을 (를 호출하는 것입니다 100ms의

+0

I를 (당신이 내용이 차단되는 것을 볼 수 있습니다) (당신이 검은 배경에 바닥 글의 끝을 볼 수 있습니다) :

두 스크린 샷이 명확하게하기 당신의 코드를 시험해 본 결과, 같은 결과를 얻었습니다. iframe은 커지지 만 축소하지는 않습니다. 지금 해결책을 찾은 것 같아요. 수동으로 iframe을 축소하는 것과 관련이 있습니다. – Jack

+0

FB.Canvas.setAutoResize는 setInterval()을 사용하고 매 XX ms마다 페이지 높이를 다시 계산합니다. 페이지를 축소하지 않으면 JS가 iframe 높이를 가져올 수 없습니다. 이는 HTML (CSS) 코드에서 일종의 "position : absolute"또는 부동 상태 일 수 있습니다. – sensor

0

입니다 다른 것들을위한 SDK도 있습니다.

0

저는 몇 주 동안 https://fb.pienternet.be/overview에있는 내 애플 리케이션과 똑같은 문제에 직면 해 있습니다. 많은 일을 시도했지만 그 중 아무 것도 작동하지 않습니다. setTimeout을 사용하여 수동으로 setSize를 사용하고, 새로운 setAutoGrow를 조합합니다 ... 긴 페이지에서 짧은 페이지까지, 또는 짧은 페이지에서 긴 페이지로 iframe을 탐색 할 때 발생합니다.

나에게 맞는 것은 부모 URI를 사용하여 페이지로 이동하는 것입니다. 예 : apps.facebook.com/pienternet/detail/5 ... SDK의 버그 인 것 같아요, 페이스 북의 bugtracking 플랫폼에서도이 버그를 게시 할 것입니다.

+0

나는 Zynga가 어떻게 문제를 해결하는지 보았다. 그들은 그들 자신의 iFrame을 사용합니다. – Jack

관련 문제