1

Extjs

Ext.Panel 内に iframe があり、パネルは 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>'
}));

誰かが私を助けることができますか??

4

2 に答える 2

0

IMO の最善の方法は、フレーム内のドキュメントが読み込まれた後にウィンドウのサイズを変更することです。実際、私は他の方法を見ていません。frame要素を取得してから、ハンドラーをloadイベントにアタッチしてウィンドウのサイズを変更する必要があります。を呼び出して iframe ドキュメントを取得しvar innerDoc = (frame.dom.contentDocument) ? frame.dom.contentDocument : frame.dom.contentWindow.document;、 でドキュメントの高さにアクセスできますinnerDoc.body.scrollHeight

作業サンプル: http://jsfiddle.net/unS7y/3/

于 2012-12-06T09:50:23.070 に答える