2013-03-18 70 views
2

我在Dynamics CRM(2011內部版本)中包含一個包含加載交易行項目(如發票行項目)的aspx文件的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(); 
}