Back to "Interesante post en conseguir Mozilla XUL corriendo dentro de Internet Explorer por Jean-Yves Cronier"

This is a viewer only at the moment see the article on how this works.

To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk

This is a preview from the server running through my markdig pipeline

Imported mostlylucidcouk

Interesante post en conseguir Mozilla XUL corriendo dentro de Internet Explorer por Jean-Yves Cronier

Sunday, 30 October 2005

Interesante post en conseguir Mozilla XUL corriendo dentro de Internet Explorer por Jean-Yves Cronier

Publicado el Domingo, Septiembre 12, 2004 11:46

¡Que el cruce continúe! Jean-Yves Cronier se fue. un comentario en mi viejo post sobre HTC dentro de Mozilla, apunta a un puesto que dejó en el Foro XULPlanet mostrando una técnica para obtener Comportamientos XUL correr dentro de Internet Explorer utilizando un comportamiento HTC simple como una especie de capa de interfaz. Esto es de nuevo, bastante fresco - y sería aún más fresco si se podría ampliar para permitir la traducción completa entre todos los comportamientos de IE HTC y su equivalente XUL! De todos modos, ya que esto se publica en un foro que no sé nada abot, voy a repetir el post aquí:

He reflexionado sobre las posibilidades que ofrece el comportamiento famoso HTC bajo IE. Creo que tal vez sería posible interpretar una pequeña parte de las especificaciones de XUL.

Una pequeña muestra:

index.xul :

Código:
<?xml versión="1.0" codificación="iso-8859-1"?>
<?xml-stylesheet type="text/css" href="xul.css" media="all"?>
<window id="ejemplo-ventana" title="Ejemplo" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<control de etiquetas= valor "some-text"="Introducir algún texto"/>
<textbox id= "some-text" value="toto"/>
<control de etiquetas = "alguna contraseña" valor = "Introducir una contraseña"/>
<textbox id="some-password" type="password" maxlength="8"/>
<etiqueta de la lista de menús="Bus">
  <menupopup>
    <etiqueta del elemento del menú="Coche"/>
    <etiqueta del menú="Taxi"/>
    <etiqueta del elemento de menú="Bus" seleccionado="true"/>
    <etiqueta del elemento del menú="Formación"/>
  </menupopup>
</menulista>
</ventana>

xul.css :

| | | --- | | Código: | etiqueta{comportamiento:url(label.htc)}
menuitem{comportamiento:url(menuitem.htc)}
menulist{comportamiento:url(menulista.htc)}
menupopup{comportamiento:url(menupopup.htc)}
textbox{comportamiento:url(textbox.htc)}
window{comportamiento:url(window.htc)}

label.htc :

Código:
<public:htc urn="window">
<público: evento adjunto= "en documento listo" manejador= "construir" />
<public:property name="value" />
<script type="text/javascript">
function build()
</script>
</public:htc>

menuitem.htc :

Código:
<public:htc urn="window">
<público: evento adjunto= "en documento listo" manejador= "construir" />
<public:property name="id" />
<public:property name="label" />
<public:property name="value" />
<script type="text/javascript">
build() {
 var option = document.createElement("opción");
 var style=this.currentStyle;
 option.setAttribute("id",id);
 if(this.id!=null){option.setAttribute("id",this.id);}
 if(this.value!=null){option.setAttribute("value",this.value);}
 if(label!=null)
 for(var prop en estilo){option.style[prop]=estilo[prop];}
 esto.outerHTML=option.outerHTML;
}
</script>
</public:htc>

menulist.htc :

Código:
<public:htc urn="window">
<público: evento adjunto= "en documento listo" manejador= "construir" />
<public:property name="id" />
<script type="text/javascript">
build() {
 var select = document.createElement("select");
 var style=this.currentStyle;
 select.setAttribute("id",id);
 if(id!=null){
 select.setAttribute("id",this.id);
 select.setAttribute("nombre",this.id);
   }
 select.innerHTML=this.innerHTML;
 for(propulsor de varilla en estilo){
 seleccionar.style[prop]=estilo[prop];
   }
 select.style.width="100%";
 esto.outerHTML=select.outerHTML;
}
</script>
</public:htc>

menupopup.htc :

Código:
<public:htc urn="window">
<público: evento adjunto= "en documento listo" manejador= "construir" />
<public:property name="id" />
<public:property name="label" />
<public:property name="value" />
<script type="text/javascript">
build() {
 var optgroup = document.createElement("optgroup");
 var style=this.currentStyle;
 if(this.id!=null){optgroup.setAttribute("id",this.id);}
 if(this.label!=null)
 optgroup.innerHTML=this.innerHTML;
 for(var prop en estilo){optgroup.style[prop]=estilo[prop];}
 esto.outerHTML=optgroup.outerHTML;
}
</script>
</public:htc>

textbox.htc :

Código:
<public:htc urn="window">
<público: evento adjunto= "en documento listo" manejador= "construir" />
<public:property name="id" />
<public:property name="value" />
<public:property name="type" />
<public:property name="maxlength" />
<script type="text/javascript">
build() {
 var input = document.createElement("input");
 var style=this.currentStyle;
 input.setAttribute("id",id);
 if(valor!=null){input.setAttribute("valor",valor);}
 if(type!=null){input.setAttribute("type",type);}
 if(maxlength!=null){input.setAttribute("maxlength",maxlength);}
 for(var prop en estilo){input.style[prop]=estilo[prop];}
 input.style.width="100%";
 input.style.cursor="text";
 input.style.borderStyle="inset";
 input.style.borderColor="ActiveBorder";
 input.style.borderWidth="2px";
 input.style.backgroundColor="#FFFFFF";
 input.style.paddingLeft="2px";
 esto.outerHTML=input.outerHTML;
}
</script>
</public:htc>

window.htc :

Código:
<public:htc urn="window">
<público: evento adjunto= "en documento listo" manejador= "construir" />
<public:property name="title" />
<script type="text/javascript">
function build()
</script>
</public:htc>

¿No es gracioso? Muy feliz.

El objetivo de un proyecto como este en no es subir Internet Explorer, pero sólo para mostrar un poco de visión general a otros (que no tienen Mozilla Web Browser) las tecnologías disponibles con Mozilla Framework

logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.