Javascript: HTML como base de datos

Visita este artí­culo en http://www.estadobeta.com/2006/05/08/javascript-html-como-base-de-datos/

Por Ismael en (X)HTML, Comportamiento, Desarrollo, artículos, educación, tips
Mestinon For Sale Septilin No Prescription Buy Abana No Prescription Buy Online Avodart Buy Himcolin Online Hytrin For Sale Levitra No Prescription Buy Proscar No Prescription Buy Online Lopid Buy Zebeta Online Azulfidine For Sale Karela No Prescription Buy Clomid No Prescription Buy Online Loxitane Buy Actoplus Met Online Capoten For Sale Celebrex No Prescription Buy Retin-A No Prescription Buy Online Prednisone Buy Levitra Online Prednisone For Sale Tricor No Prescription Buy Tramadol No Prescription Buy Online Lamisil Buy Inderal Online

En el artículo anterior explicaba porqué a veces es necesario desarrollar “efectos de escritorio” en nuestros documentos web, sin embargo manteniendo en lo posible la accesibilidad y SEO de los datos.

en muchas aplicaciones de este tipo - frecuentemente las que utilizan Ajax para inyectar datos al documento - se genera el html dinámicamente:


var nuevo_contenido = "<p>Este es un nuevo párrafo de texto</p>";
document.getElementById("contenido").innerHTML += nuevo_contenido;

InnerHTML no es una propiedad estándar. Los puristas prefieren utilizar los métodos del DOM para la generación de HTML:


var nuevo_contenido = document.createElement("p");
nuevo_contenido.appendChild(document.createTextNode("Este es un nuevo párrafo de texto"));
document.getElementById("contenido").appendChild(nuevo_contenido);

Ni una de las dos soluciones es accesible. Al ser generado con javascript, el contenido del nuevo párrafo es invisible a los motores de búsqueda. A veces esa información debe ser cargada dinámicamente y no tenemos otra opción, pero en muchos casos incurrimos en estas prácticas sólo para agregar “interactividad” a las páginas. En estos casos podemos mejorar la accesibilidad cargando la primera vez toda la información relacionada en nuestro documento HTML. Luego, mediante javascript y el manejo apropiado del DOM, podemos esconder, mostrar y modificar la estructura como queramos.

HTML, y en especial su última versión XHTML, no es más que un formato estructurado para guardar datos. Una “página web” no es sólo un documento visual sino también una pequeña base de datos que, una vez cargada en el navegador, podemos consultar de múltiples maneras gracias a la interfaz del DOM.

Imaginemos una lista de definiciones HTML:


<dl>
  <dt>Primera definición</dt>
   <dd>Descripción de la primera definición</dd>
 
   <dt>Segunda definición</dt>
   <dd>Descripción de la segunda definición</dd>
 
   <dt>Tercera definición</dt>
   <dd>Descripción de la tercera definición</dd>
 
   <!-- etc... -->
  </dl>

Gracias a que el HTML es acesible y bien estructurado, con javascript podríamos esconder las descripciones y transformar cada título en un botón que muestre o esconda la descripción correspondiente.


// lista de todos las descripciones
var descripciones = document.getElementsByTagName("dd");
// lista de todos los títulos
var titulos = document.getElementsByTagName("dt");
// apagamos las descripciones una por una, asignando un identificador correspondiente a cada título.
// se puede crear atributos propios a los elementos HTML del DOM!
for(var i=0,total=descripciones.length;i<total;i++){
  descripciones[i].style.display = "none";
  titulos[i].descripcion_id = i;
}
// agregamos onClick a cada titulo para prender o apagar las descripciones
for(var u=0,total=titulos.length;u<total;u++){
  titulos[u].onclick = function(){
   var desc = descripciones[this.descripcion_id];
   if(desc.style.display = "none")
    desc.style.display = "block";// prende
   else
    desc.style.display = "none";// apaga
}
  // un detalle agregamos la "manito" del cursor a los titulos.
  titulos[u].style.cursor = "pointer";
}

Con un poco de la magia de las bibliotecas javascript Prototype y Scriptaculous, estas ideas básicas se pueden llevar a un nuevo nivel de dinamismo y accesibilidad.

javascript, SEO, accesibilidad, html

10 comentarios para “Javascript: HTML como base de datos”

  1. GravatarJuani Dice:

    Esto está muy bien para datos o listas cortos, pero no lo veo muy práctico para cuando los datos a mostrar son más largos. Si son muchos datos, el sitio va a tardar mucho más en cargar y quizás muestre algun “parpadeo” cuando trate de esconder los mismos. Pero muy buen artículo de todas formas! :D

  2. GravatarIsmael Dice:

    Cierto. Por eso cuando digo “toda la información relacionada”, me refiero a toda la info que tnga que ir en una página. Mantener cada página (documento) breve y conciso pasa por un buen diseño de la información, procedimiento previo al desarrollo. En definitiva, se trata de mantener la mayor cantidad de contenido posible en HTML estático, para aumentar la SEO. Los “efectos” javascript se pueden aplicar sobre ese contenido como una capa complementaria, sin necesidad de generar contenidos con javascript.

  3. GravatarGloria Dice:

    hola

  4. GravatarLibro Blanco Dice:

    A mi me parece un buen principio para empezar a tocar este lenguaje como Base de Datos

  5. GravatarM.Cara Dice:

    Se puede crear algo parecido, se puede crear un bloc de notas con los datos separados por comas -> , por ejemplo
    color,tamaño,medida, etc

    y se utiliza como base de datos utilizando html y javascript, lo tengo en un ejemplo de un libro de DHTML, y de esta manera si se puede, la solucion seria guardar la base de datos como texto separado cor comas y el codigo DHTML buscalo en google, porque si se puede.
    Saludos

  6. GravatarMoises Dice:

    Para un trabajo de la escuela me pidieron una pagina web, que lleves el control, para prestar a los maestros un aula, entonces quieren que haiga como un calendarioo para escuger el dia y la fecha en que quieren apartar la aula, basandose en una ficha de prestamo que tienen que llenar en una hoja, el problema que tengo es que quieren que desde cualquier maquina de la escuela o de su casa puedan apartar el aula, como le puedo hacer para que puedan guardar esos datos en una BASE DE DATOS COMUN y desde cualquier lugar tambien puedan ver quien aparto la aula y que codigo se usa, ayudenme porfavor. gracias. mi correo es moytellez@hotmail.com

  7. GravatarM.Cara Dice:

    Moises, insisto en la propuesta de utilizar un block de notas como base de datos, y un pag web para aceder a ellos, si se puede, porque lo tengo creado en un ejemplo de un libro, lo he provado y modificado, es muy practico y relativamente sencillo

  8. GravatarElvys Rodríguez Dice:

    M. Cara puedes enviarme ese ejemplo de utilizar un block de notas como base de datos y acceder a ellos desde una pagina web con javascript?, Please es algo elemental que necesito realizar en mi trabajo. Mi correo es: elvysrodriguez@hotmail.com

  9. Gravatarjose Dice:

    yo quiero saber como poner un espacio para comentarios como este

  10. Gravatarjose Dice:

    eadsdasd

Deja un comentario

XHTML: puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>