2009-11-23 9 views
7

Estoy tratando de crear un mini navegador dentro de una ventana usando extJS.Crear un navegador de ventana dentro del navegador con extjs

Esto es lo que tengo hasta ahora:

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], 
}); 

estoy tratando de conseguir el iframe cargar el contenido de lo que está escrito en el interior del cuadro combinado, pero no puedo encontrar la manera de 'decir' él cargar una página, y ni siquiera pude 'obtener' cuando el usuario pulsa 'enter'. Tal vez reemplazar el cuadro combinado por cuadro de entrada? no sé cómo hacer esto (comenzando con extjs).

Gracias por su ayuda.

Respuesta

15

Puede probar esto:

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(); 

Regards

+0

Gracias, esto solucionó perfectamente mi misterio, que había casi tengo trabajo con un marco flotante dentro del div ventana, pero fracasó en IE6, IE7, este funciona bien en todos lados. Nuevamente, gracias por el truco. –

+0

¿Alguna idea de cómo habilitar animaciones en IframeWindow? –

6

Si realmente quiere trabajar con iframes en Ext JS, debería usar el ManagedIFrame user extension. Trabajar con un iframe sin formato dentro de Ext (especialmente diseños internos) no es lo más fácil de hacer y hacer desde cero.

Cuestiones relacionadas