Ventana para seleccionar archivos


(roberto) #1

Si la pregunta les parece tonta pido perdón, pero soy nuevo
en esto de programar complementos para Firefox
(empecé hoy jaja ) y estuve googleando toda la tarde tratando de encontrar la solución.
Bueno, al punto: Tengo un archivo xul con un menuitem típico:

<menu id="menu-archivo" label="Archivo">

<menupopup id="archivo-emergente">

<menuitem label="Nuevo" />
<menuitem label="Abrir" oncommand="handleFileSelect(evt)"/>
<menuitem label="Guardar" oncommand="this.window.close();"/>
<menuseparator/>

handleFileSelect() debería dispara una ventana para seleccionar un archivo, en javascript lo haría así:

<input type="file" id="files" name="files[]" multiple/>

<output id="list"></output>
<script>
function handleFileSelect(evt) {
var files = evt.target.files;
var output = [];
for (var i = 0, f; f = files[i]; i++) {
output.push('<li><strong>',
escape(f.name), '</strong> (', f.type || 'n/a', ') - ',
f.size, ' bytes, last modified:',
f.lastModifiedDate ?
f.lastModifiedDate.toLocaleDateString() : 'n/a',
'</li>');
}
document.getElementById('list').innerHTML =
'<ul>' + output.join('') + '</ul>';
}

Pero menuitem no es un input y no sé cómo hacerlo.

sino diganme dónde puedo conseguir el codigo fuente del borrador de firefox para mirar cómo esta hecho y de ahí sacar una idea.
Desde ya, muchas gracias.


(Javier) #2

Hola @roberfooo

No estoy seguro de que sea exactamente lo que buscas, pero ¿este enlace puede ayudarte?
https://wiki.mozilla.org/XUL:File_Input

Por lo que he leído, es una implementación de una selección de archivo y la lectura de su contenido.

Saludos