2013-03-18 6 views
2

거래 용 품목 (예 : 인보이스 광고 항목)을로드하는 aspx 파일이있는 Dynamics CRM (2011 년 전제)에 iFrame이 있습니다. 광고 항목의 수량은 1에서 8,000까지 매우 다양합니다. 세로 스크롤 막대가 표시되지 않도록 iFrame의 높이를 조정해야합니다. 이것을 어떻게 할 수 있습니까? 지금 내가 사용이 기능을 JS하지만 매우 부정확입니다 :iFrame의 높이 결정

function setIframeHeight() { 
     var rowcount = getRowCount(); 
     var multiplier = 19; 

     if (rowcount < 25) { 
      multiplier = 13; 
     } 
     else if (rowcount > 50) { 
      multiplier = 23; 
     } 
     else if (rowcount > 150) { 
      multiplier = 32; 
     } 
window.parent.parent.frames[0].document.getElementById('IFRAME_TransactionProduct_RA_d').parentNode.height = rowcount * multiplier; 
    } 

답변

3

할 수 있습니다 오프셋 JQuery와() 상단 함수를 사용

http://api.jquery.com/offset/

에 의해 페이지의 높이를 결정합니다. 페이지에서 가장 낮은 컨트롤의 상단을 얻는 방법 :

function setIframeHeight() { 
    var element = $('#idOfLowestControlOnPage'); 

    window.parent.parent.frames[0].document.getElementById('IFRAME_TransactionProduct_RA_d').parentNode.height = element.offset().top + element.height(); 
}