Objetos  

      Cuando se carga una página, se crean numerosos objetos cuyos valores están basados en el documento y en otras informaciones. Estos objetos son los elementos que permiten el control de la página del usuario.

      Jerarquía
      Estos objetos se organizan de forma jerárquica, que refleja la propia estructura de la página. Es importante conocer dicha estructura para comprender bien la página y acceder correctamente a sus diferentes elementos.

      Jerarquía existente entre los diferentes objetos de una página web.

      En esta jerarquía, todo lo que esté por debajo de un objeto son propiedades de éste. Por ejemplo, si existe en la página un formulario llamado formulario1, es una propiedad de document, por lo que para acceder a ella habrá que escribir document.formulario1  .
       

      Objetos

      En todo caso, toda página cuenta con los siguientes objetos:

      • Navigator: contiene propiedades sobre el nombre y la versión usada del navegador.
      • Window: son propiedades que se aplican a la ventana (tamaño, posición, ...).
      • Document: contiene propiedades basadas en el documeto (colores de fondo, de letra, formularios...).
      • Location: propiedades basadas en el URL actual.
      • History: contiene propiedades ue representan las URL's que el cliente ha visitado previamente.
      El resto de la estructura de la página dependerá de los elementos que tenga. Por ejemplo, si existe un formulario llamado formul y en este un campo de texto llamado pregunta y se quiere conocer su valor puede hacerse según: document.formul.pregunta.value . Ahora bien, si este elemento no existe, esta línea producirá un error.

      Otra forma de acceder a los elementos de cada página es mediante arrays o vectores. Todos los elementos del mismo tipo de una página se almacenan en un array por orden de aparición en la página. Así, supongamos que por orden de aparición en la página primero hay un link a la Escuela y luego uno a la Universidad de Navarra.
          · El link de la Escuela será document.links[0]  (Nótese que estos vectores van de cero a n-1)
          · El link de la UN será document.links[1]

      Hay que advertir que esto de los arrays se va complicando. Supongamos que se desea conocer el valor del tercer elemento de un formulario que es el sexto de su página. Se accede según el método de arrays de la siguiente manera: document.forms[5].elements[2] .
       
       

      Propiedades

      A continuación se van a mostrar algunas de las propiedades más importantes de los objetos que hay en toda página (los que están en negrita son las novedades de la versión 1.2):

      - Navigator
      appName      especifica el nombre del browser
      appVersion   indica la versión del navegador
      preference     Permite al script conocer y modificar ciertas preferencias del navegador

      - Window
      open, close     abre o cierra la ventana
      alert                abre una ventana de alerta con un mensaje que debe ser aceptado
                              pulsando OK
      confirm           abre una ventana de diálogo con botones de OK y Cancel
      prompt            abre una ventana en la que hay que escribir texto
                              antes de llegar a la página (por ejemplo, un password)
      blur, focus      deja inactiva o activa la ventana (quita o da  focus)
      scroll               desplaza una ventana hasta una coordenada específica
      setTimeout      evalúa una expresión después de el tiempo especificado
      back                 vuelve a la página cargada anteriormente
      disableExternalCapture  desactiva la captura de eventos
      enableExternalCapture   activa la captura de eventos
      find                   encuentra el texto especificado en los contenidos de la ventana
      forward             equivale a pulsar el botón forward
      home                 equivale a pulsar el botón home
      moveBy             mueve la ventana la cantidad especificada en pixels
      moveTo             mueve la ventana a la coordenada especificada en pixels
      open                  incluye los siguientes atributos nuevos

      • alwaysLowered    la ventana siempre está debajo de las demás, esté activa o no
      • alwaysRaised       la ventana siempre está encima de las demás, esté activa o no
      • dependent            crea una nueva ventana como "hija" (dependiente)
                                     de otra ventana
      • innerHeight, innerWidth    determina el tamaño del área de contenidos
                                                      de la ventana del navegador
      • outerHeight, outerWidth    determina el tamaño de la ventana del navegador
                                                      completa (área + márgenes)
      • titlebar                 crea una ventana con una barra de título
      • z-lock                   crea una nueva ventana que no se pone encima
                                     de otras ventanas cuando está activa
      resizeBy             cambia de tamaño la ventana la cantidad especificada en pixels
      resizeTo             cambia de tamaño la ventana a la coordenada especificada en pixels
      scrollBy             desplaza el contenido de la ventana la cantidad especificada en pixels
      scrollTo             desplaza el contenido de la ventana a la coordenada especificada
                                 en pixels
      stop                    detiene la transferencia actual de datos

      - Document
      Mirando el esquema de la jerarquía, todas las propiedades que allí se indican (anchors, frames, ...) se organizan en forma de arrays como ya se ha explicado y, en particular, para los elementos de un formulario se tiene un array dentro de un array como también se ha visto en un ejemplo de la sección anterior. Se recuerda que estos arrays están subindicados de cero a n-1.
      write                Escribe el texto especificado en el documento
      getSelection    Devuelve una cadena que contiene el texto de la selección actual

      - History
      current, next, previous   va a la página actual, siguiente o posterior de la history list
      go(num)         avanza (si num es positivo) o retrocede (si es negativo) en la history list
                             el número indicado por num

      - Location
      reload      equivale a pulsar el botón reload