2012-12-06 55 views
1

ExtJS的ExtJS的調整面板窗口內

我有一個ifram一個Ext.Panel內,面板是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>' 
})); 

有人可以幫我嗎?

回答

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/

+0

很好,它工作正常 –

0

洛洛是正確的。您需要從iframe中檢索高度後調整窗口大小。