Extjs在窗口内调整面板大小

时间:2012-12-06 08:13:31

标签: extjs

Extjs

我在Ext.Panel中有一个ifram,面板在Ext.Window里面

当iframe的内容发生变化时,如何使窗口自动高度

请参阅代码:

var filePanel = new Ext.Panel({
     autoHeight: true
});

var fileUploadWindow = new Ext.Window({
    modal: true,
    autoHeight: true,
    title: 'File Upload',
    closable: true,
    draggable: true,
    autoDestroy: false,
    width: 570,
    items: [filePanel],
    shadow: true,
    buttons: [{
        xtype: 'button',
        text: 'Close',
        handler: function (button) {
            fileUploadWindow.hide();
            fileStore.reload();
        }
    }]
});

filePanel.add(new Ext.Panel({
    html: '<iframe src="../shared/Upload.aspx?_key=' + sskey + 
        '&_id=' + wkId + '" style="width:550px; border:none;"></iframe>'
}));
有人能帮助我吗?

2 个答案:

答案 0 :(得分:0)

IMO最好的方法是在加载框架中的文档后调整窗口大小。其实我没有看到任何其他方式。您需要获取frame元素,然后将处理程序附加到load事件以调整窗口大小。您可以通过调用var innerDoc = (frame.dom.contentDocument) ? frame.dom.contentDocument : frame.dom.contentWindow.document;获取iframe文档,然后通过innerDoc.body.scrollHeight访问文档高度。

工作样本:http://jsfiddle.net/unS7y/3/

答案 1 :(得分:0)

洛洛是对的。从iframe中检索高度后,您需要调整窗口大小。