Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: GeorgArming en 10 Junio 2012, 14:32 pm



Título: Que un escritorio muestre apps instaladas
Publicado por: GeorgArming en 10 Junio 2012, 14:32 pm
Hola. Estoy creando un escritorio web, y quiero que haga lo siguiente:

Tengo un archivo index.html. Quiero que dicho archivo muestre las apps instaladas, es decir, las que se encuentran en el directorio /apps. ¿De qué forma? Pues quiero que muestre un archivo concreto de cada app (el icono).

¿Cómo lo puedo hacer? Porque de momento lo que he conseguido es estático, es decir, muestro las apps que he puesto que se muestren en el index.html, pero quiero que se muestren las que estén en /apps. Muchas gracias.


Título: Re: Que un escritorio muestre apps instaladas
Publicado por: #!drvy en 11 Junio 2012, 00:18 am
Tienes que recordar que html es un lenguaje de "decoracion".. lo que haces lo interpreta el navegador y no puedes hacer cosas complejas..

Para ello.. puedes recurrir a javascript.. y en particular te recomiendo un archivo .xml con todas las Apps instaladas.

Ejemplo del xml.
Código
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <Aplicaciones>
  3.  
  4. <aplicacion>
  5. <icono>blabla.png</icono>
  6. <titulo>Mi Primera aplicacion</titulo>
  7. </aplicacion>
  8.  
  9. <aplicacion>
  10. <icono>omgwtf.png</icono>
  11. <titulo>Mi Segunda aplicacion</titulo>
  12. </aplicacion>
  13.  
  14. </Aplicaciones>

Luego, (yo lo voy a hacer con jQuery para mostrártelo..) con javascript lo procesas..

Código
  1. <html>
  2. <head>
  3. <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
  4. <script>
  5. $(document).ready(function() {
  6.  
  7. // Obtener el archivo .xml
  8.   $.ajax({
  9.      type: "GET",
  10.      url: "apps.xml",
  11.      dataType: "xml",
  12.      // Ejecutar ParsearXML
  13.      success: ParsearXML
  14.  });
  15. });
  16.  
  17. function ParsearXML(xml){
  18.  // Por cada tag <aplicacion>
  19.  $(xml).find("aplicacion").each(function(){
  20.  
  21.  // Encontrar tag <icono>
  22.  var icono = $(this).find('icono').text();
  23.  
  24.  // Encontrar tag <titulo>
  25.  var titulo = $(this).find('titulo').text();
  26.  
  27.  // Añadir a id="apps" una imagen con el src del icono y el alt del titulo.
  28.   $("#apps").append('<img src="'+ icono +'" alt="'+ titulo +'" />' + "<br />");
  29. });
  30. </script>
  31. </head>
  32. <body>
  33.   <div id="apps">
  34.  
  35.   </div>
  36. </body>
  37. </html>

El resultado seria:
Código
  1. <img alt="Mi Primera aplicacion" src="blabla.png"><br>
  2. <img alt="Mi Segunda aplicacion" src="omgwtf.png"><br>

Saludos


Título: Re: Que un escritorio muestre apps instaladas
Publicado por: GeorgArming en 11 Junio 2012, 14:54 pm
¡Muchísimas gracias, drvy! Voy a probar :) .


Título: Re: Que un escritorio muestre apps instaladas
Publicado por: GeorgArming en 16 Junio 2012, 23:48 pm
Tengo otra duda relacionada:

Me gustaría que, de forma predeterminada o si el cuadro de búsqueda está en blanco, se muestren las apps instaladas. Si hay escrito algo en el cuadro de búsqueda, que salgan las apps que concuerden con lo buscado, en tiempo real (es decir, justo cuando escribes "A" SALEN TODAS las apps que contienen a, cuando ya llevas escrito "Abc" salen todas las apps que empiezan por abc,...). ¿Sabríais cómo hacerlo?