2009-11-23 7 views
7

extJS를 사용하여 창 안에 미니 브라우저를 만들려고합니다. 여기 extjs가있는 브라우저에서 창 브라우저 만들기

내가 지금까지이 작업은 다음과 같습니다

panelContent = new Ext.Panel({ 
     region: 'center', 
     margins: '0 0 0 0', 
     autoScroll: true, 
     html: '<iframe style="overflow:auto;width:100%;height:100%;" frameborder="0" src="http://www.google.com"></iframe>' 
    }); 
var tb = new Ext.Toolbar(); 
var combo = new Ext.form.ComboBox({ 
    width:435, 
    }); 
tb.addField(combo); 
tb.doLayout(); 
browser = new Ext.Window({ 
     title: 'Internet Browser', 
     tbar: tb, 
    closable: true, 
     closeAction: 'hide', 
     width: 600, 
     height: 600, 
     border:false, 
     plain: true, 
     layout: 'border', 
     items: [panelContent], 
}); 

내가 iframe이이 콤보 상자 안에 입력 무슨의 내용을로드 얻기 위해 노력하고있어,하지만 난 그를 '말'하는 방법을 찾을 수 없습니다 페이지를로드하고 사용자가 '입력'을 누르는 경우에도 '얻을'수 없습니다. 아마 입력 상자에 의해 콤보 상자를 교체? 이 작업을 수행하는 방법을 모른다 (extjs로 시작).

도움 주셔서 감사합니다.

답변

15

당신이 시도 할 수 있습니다 :

Ext.IframeWindow = Ext.extend(Ext.Window, { 
onRender: function() { 
    this.bodyCfg = { 
     tag: 'iframe', 
     src: this.src, 
     cls: this.bodyCls, 
     style: { 
      border: '0px none' 
     } 
    }; 
    Ext.IframeWindow.superclass.onRender.apply(this, arguments); 
} 
}); 

var w = new Ext.IframeWindow({ 
id:id, 
width:640, 
height:480, 
title:"Knowledge Control Solutions Iframe Window Sample", 
src:"http://www.google.es" 
}) 


w.show(); 

감사

+0

감사합니다,이 완벽하게 내가 거의 창 div의 내부 iframe이 작업있어했다, 나의 수수께끼를 해결하지만, IE6, IE7에 실패 이 곳은 어디서나 잘 작동합니다. 다시 해킹 해 주셔서 감사합니다. –

+0

IframeWindow에서 애니메이션을 활성화하는 방법에 대한 아이디어가 있으십니까? –

6

Ext JS에서 iframe을 사용하는 것이 심각한 경우 ManagedIFrame user extension을 사용해야합니다. Ext (특히 레이아웃 내부)에서 원시 iframe을 사용하여 작업하는 것은 처음부터 시도하고 수행하는 것이 가장 쉬운 방법은 아닙니다.