确定iFrame的高度

时间:2013-03-18 21:51:36

标签: dynamics-crm-2011 dynamics-crm dynamics-crm-4

我在Dynamics CRM(2011年内部部署)中有一个iFrame,其中包含一个加载交易行项目的aspx文件(如发票行项目)。订单项的数量变化很大,从1到8,000。我需要调整iFrame的高度,这样它就不会显示垂直滚动条。我怎样才能做到这一点?现在我正在使用这个JS函数,但它非常不准确:

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;
    }

1 个答案:

答案 0 :(得分:3)

您可以使用jquery offset()。top function:

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();
}