2011-12-07 6 views
1

iframe을로드 한 후 동적으로 높이를 설정하려고합니다. 그리고 나서 id는 iframe을 바인딩하므로, mousemoveEvent 후에 새로운 높이가 설정됩니다.jQuery Internet Explorer 용 높이를 높이기위한 iframe의 높이가 커집니다.

$(myIframe).load(function(){ 

    var iframeHeight = $(myIframe).height(); 
    $(myIframe).height(iframeHeight); 

    $(myIframe).contents().find(IframeID).bind('mousemove', function(){ 
     iframeHeight = $(myIframe).height(); 

     $(myIframe).height(iframeHeight); 

    }); 


}); 

그래서 제 문제는 파이어 폭스, 크롬, 오페라 등에서 잘 작동합니다. InternetExplorer 7/8/9는 새 높이를 이전 높이로 합계합니다. 그래서 모든 mousemove에 높이가 커지고 있습니다.

다른 브라우저와 마찬가지로 InternetExplorer에 알려주려면 어떻게해야합니까?

답변

0

여분의 200px 공간이있는 콘텐츠의 iframe 높이를 설정하려고 시도했을 때이 문제가 발생했으며 콘텐츠를 변경할 때마다 iframe이 Internet Explorer에서만 200px로 커지고 지금까지 기억할 수있는 한 내가 마지막에 jQuery를 사용하지 않았고 instend 내가 사용이 :

var iFrame = document.getElementsById('myFrame'); 
iFrame.style.height = (parseInt(iFrames[i].contentWindow.document.body.offsetHeight) + 200) + 'px'; 

잘 내 문제에 대한 나의 soulation이었고 난 ... 당신을 위해 도움이 될 것입니다 바라고 있어요

+0

안녕하세요, 오늘 문제를 해결할 수 있습니다. 프레임의 HTML 태그를 기준으로 높이를 계산했습니다. 대신에 Height 계산을 위해 BODY를 사용했습니다. – lennykey

+2

var iframeHeight = $ (myIframe) .contents(). find ('body'). height();' – lennykey

관련 문제