2009-11-23 4 views
7

Je suis en train de créer un mini-navigateur dans une fenêtre en utilisant ExtJS.Créer un navigateur fenêtre dans le navigateur avec ExtJS

Voici ce que j'ai jusqu'à présent:

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

Je suis en train d'obtenir le iframe charger le contenu de ce qui est tapé dans la zone de liste déroulante, mais je ne peux pas savoir comment le « dire » à charger une page, et je ne pouvais même pas 'obtenir' quand l'utilisateur frappe 'entrer'. Peut-être remplacer le combobox par inputbox? Je ne sais pas comment faire cela (en commençant par extjs).

Nous vous remercions de votre aide.

Répondre

15

Vous pouvez essayer ceci:

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

Cordialement

+0

Merci, cela parfaitement résolu mon mystère, j'avais failli me faire fonctionner avec un Iframe dans la div fenêtre, mais il a échoué sur IE6, IE7, celui-ci fonctionne bien partout. Encore une fois, merci pour le hack. –

+0

Une idée pour activer les animations dans IframeWindow? –

6

Si vous êtes sérieux au sujet de travailler avec les iframes dans Ext JS vous devriez vraiment utiliser le ManagedIFrame user extension. Travailler avec un iframe brut dans Ext (en particulier dans les mises en page) n'est pas la chose la plus facile à faire à partir de zéro.

Questions connexes