2009-11-23 85 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中加载一个什么样的组合框里面输入的内容,但我不能找出如何“告诉”他加载一个页面,当用户点击“输入”时,我甚至不能'获取'。也许用inputbox代替combobox?不知道如何做到这一点(从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,这个效果很好。 再次感谢黑客。 – 2010-02-06 12:10:23

+0

任何想法如何在IframeWindow中启用动画? – 2010-02-06 12:31:30

6

如果你认真对待Ext JS中的iframe,你应该使用ManagedIFrame user extension。在Ext中使用原始iframe(特别是在内部布局中)并不是尝试从头开始的最简单的事情。