Objeto Document

Este objeto representa el documento HTML en el que estamos. Se accede a él por medio de la referencia document. Su mayor importancia viene por el número de vectores que posee, que referencian a objetos Image, Form o Link, los cuales permiten acceder a las imágenes, formularios y enlaces del documento, respectivamente.

También dispone de varios métodos para trabajar con cookies, pero eso lo veremos en otro capítulo.

lastModified
Contiene la fecha y hora en que se modificó el documento por última vez y se suele usar en conjunción con write para añadir al final del documento estas características.
bgColor
Modifica el color de fondo del documento. El color deberá estar en el formato usado en HTML. Es decir, puede ser red o FF0000.

         Ésto se obtuvo con el siguiente código:

	<SCRIPT LANGUAGE="JavaScript">
		var Paso;
		var MiVentana = open("","MiPropiaVentana",
			"toolbar=no,directories=no,menubar=no,status=yes");
		MiVentana.document.write("<HEAD><TITLE>Una nueva ventana</TITLE></HEAD>"+
			"<BODY></BODY>");
		Paso = MiVentana.document.bgColor;
		MiVentana.document.bgColor=MiVentana.prompt("Ingrese un color de fondo", "Red");
		MiVentana.alert("Pulse una tecla...");
		MiVentana.document.bgColor=Paso;
		MiVentana.close();	
	</SCRIPT>

forms[]
Vector que contiene los formularios del documento. El primero será el número 0, el segundo el 1, etc..
 
images[]
Vector que contiene las imágenes del documento. Se ordenan igual que en el anterior caso, aunque también permiten ser accedidas con el nombre como índice. Es decir, a una imagen definida como <IMG SRC=".." NAME="miImagen"> se puede acceder con document.images["miImagen"].

         Veamos el código respectivo:

	<SCRIPT LANGUAGE="JavaScript">
		var MiVentana = open("","MiPropiaVentana",
			"toolbar=no,directories=no,menubar=no,status=yes");
		MiVentana.document.write("<HEAD><TITLE>Una nueva ventana</TITLE>"+
			"</HEAD><BODY>");
		MiVentana.document.write("<IMG SRC='images/apagado.gif' name='apagado'>   ");
		MiVentana.document.write(MiVentana.document['apagado'].name+"<br>");
		MiVentana.document.write("<IMG SRC='images/encendido.gif' name='encendido'>   ");
		MiVentana.document.write(MiVentana.document['encendido'].name+"</BODY>");
		MiVentana.alert("Pulse una tecla...");
		MiVentana.close();
	</SCRIPT>

links[]
Vector que contiene los enlaces del documento. Se ordenan igual que en los dos anterioers, aunque no se suele utilizar en el código Javascript. Su razón de ser es que, al ser los enlaces objetos, permiten incluir código Javascript en ellos por medio de la pseudo-URL javascript:codigo.

         Con ésto podemos ver los Links de la página actual:

	<SCRIPT LANGUAGE="JavaScript">
		var Indice;
		var MiVentana = open("","MiPropiaVentana", 
			"toolbar=no,directories=no,menubar=no,status=yes");
		MiVentana.document.write("<HEAD><TITLE>Una nueva"+			
			"ventana</TITLE></HEAD><BODY>");
		MiVentana.document.write("Nº de Links = "+
			document.links.length+"<br>");
		for(Indice=0;Indice");
		}
		MiVentana.document.write("</BODY>");
		MiVentana.alert("Pulse una tecla...");
		MiVentana.close();
	</SCRIPT>

write(cadena)
writeln(cadena)
Escribe el código HTML indicado en cadena en nuestro documento HTML. writeln hace lo mismo, pero incluyendo al final un retorno de carro.
 
open()
Abre un nuevo documento para escribir. Un documento debe estar abierto para poder escribir en él. Sin embargo, no se utiliza mucho ya que los dos métodos anteriores abren automáticamente el documento si no lo está ya.
 
close()
Cierra el documento, impidiendo escribir de nuevo en él.
 
 

 Cómo escribir en el documento

A la hora de escribir en un documento por medio de write o writeln hay que tener en cuenta un hecho fundamental. Para poder escribir en un documento, éste debe estar abierto y, al abrirlo, se destruye todo el código que haya en él.

Un documento se abre automáticamente cuando empieza a cargarse y se cierra cuando termina de hacerlo. Así pues, si deseamos escribir en un documento sin sobreescribir su contenido, deberemos hacerlo antes de que éste termine de cargar. Si lo hacemos después, sobreescribiremos su contenido. Por lo tanto:

escribir.html

<HTML>
<HEAD>
  <TITLE>Escribe y no sobreescribe</TITLE>
</HEAD>
<BODY>
Este es un documento muy interesante y que fue modificado por última vez el día
<SCRIPT LANGUAGE="JavaScript">
document.write(document.lastModified);
</SCRIPT>
</BODY>
</HTML>

Este ejemplo os mostrará la cadena completa, ya que se llama a write antes de cerrarse el documento. Es decir, antes de que termine de cargar. Sin embargo, el siguiente ejemplo:

sobreescribir.html

<HTML>
<HEAD>
  <TITLE>Sobreescribe</TITLE>
  <SCRIPT LANGUAGE="JavaScript">
    function escribir() {
      document.write("Este es un documento muy interesante y " +
        "que fue modificado por última vez el día");
      document.write(document.lastModified);
    }
  </SCRIPT>
</HEAD>
<BODY onLoad="escribir()">
Hola.
</BODY>
</HTML>

Sobreescribirá el documento y no podremos ver ese "Hola", al ser llamado después de cargar el documento, es decir, después de cerrarlo.