2009-11-23 99 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(特別是在內部佈局中)並不是嘗試從頭開始的最簡單的事情。