2012-04-08 3 views
5

colorbox jquery plugin의 마지막 버전을 다운로드했습니다. 이제 iframe 및 인라인에 트루 컬러 박스를 설정했습니다. 내 문제는 colorbox (라이트 박스) 자동 높이/너비 양식 외부 페이지를 설정하지 않습니다. 이 문제를 해결하는 방법? 이 방법이 있습니까?jQuery와 Colorbox : iframe 색상 상자의 높이와 너비를 자동으로 설정하는 방법

MY colorbox 기능 :

<script> 
$(document).ready(function(){ 
$(".iframe").colorbox({inline:true,iframe:true}); 
</script> 

감사

답변

19

colorbox가 iframe을 내부에서 무엇을 알 수 없습니다 때문에, 자동 크기 조정이 예상대로 작동하지 않을 수 있습니다.

나는 그런 식으로 작업을 수행합니다

{ iframe: true, innerWidth: 430, innerHeight: 370, scrolling: false, ... } 

하는 콘텐츠에 가장 적합한 크기를 선택합니다 : colorbox 열고 iframe을로드합니다이 옵션을 colorbox를 열 때 기본 너비 + 높이를 설정 이 상자에. iframe이의 HTML 본문의 끝에서,은 iframe 내에서 colorbox 크기를 조절이 작은 스크립트, 배치 : 작동하려면 두 번째 스크립트를 들어

$(function(){ 
    parent.$.colorbox.resize({ 
     innerWidth:$('body').width(), 
     innerHeight:$('body').height() 
    }); 
}); 

을, jQuery를가 iframe을 내부에로드해야합니다. 그렇지 않으면 기본 JavaScript를 사용하여이 작업을 수행해야합니다.

iframe 내부의 모든 이미지의 너비/높이가 설정되어 있거나 완전히로드되었는지 확인하십시오. 그렇지 않으면 innerWidth/innerHeight가 잘못된 값을 제공합니다.

+1

이것은 좋은 스크립트입니다. 또한 문제는 기술적으로 ColorBox가 iframe에 무엇이 있는지를 모르는 것이 아니라 콘텐츠가 유선 및 DOM으로 전달 될 때까지 BROWSER가 알 수 없다는 것을 이해해야합니다. –

+0

누군가가 결국 해결책을 찾았습니다! 고맙습니다! – user1380540

+0

불행히도, 이것은 iFrame에있는 소스를 수정할 수있는 경우에만 작동합니다. 제어 할 수없는 항목을로드하는 경우 높이/너비를 수동으로 설정하는 것이 유일한 옵션입니다. –

관련 문제