Tema 2: JavaScript. Lenguaje interpretado. 1. Introducción.



Documentos relacionados
BOM. Browser Object Model

Modelo de objetos de documento

JavaScript toma su sintaxis de los lenguajes de programación más conocidos, fundamentalmente C/C++, aunque también algo de Pascal.

JavaScript DOM. JavaScript - Jerarquía de Objetos. JavaScript - Jerarquía de Objetos. Jerarquía de Objetos del Navegador

Programa. Conceptos básicos: variables, valores y objetos predefinidos, operadores, etc. etc. Callbacks, eval(), etc.

HTML dinámico: Javascript

Diseño de Aplicaciones Web: JavaScript Marzo de 2015 Diseño de Aplicaciones Web 1

JavaScript Básico. Ejemplo. Arreglos en JavaScript Creación de Arreglos. Asignación de valores. var miarray = new Array() var miarray = new Array(10)

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet DLSI - Universidad de Alicante 1

XPERTO EN DISEÑO DE PÁGINAS WEB

AGRADECIMIENTOS INTRODUCCIÓN... 17

El lenguaje JavaScript. Asignatura: Fonaments Cartografia i SIG Curso: 2006/07 Profesor: Toni Navarrete

HTML Dinámico: JavaScript. HTML Dinámico: JavaScript

JavaScript: Objetos del documento

Programación Hipermedia I

AGRADECIMIENTOS INTRODUCCIÓN... 17

Curso PHP Módulo 1 R-Luis

HTML, PHP y bases de datos

JavaScript como Orientación a Objetos

Definiciones. Tema 21_Módulos Menú 1

Ingeniería de Sistemas

DREAMWEAVER 2 UNIVERSIDAD TECNOLOGICA DE AGUASCALIENTES

EXTENSIÓN DE UML PARA APLICACIONES WEB

JavaScript. manual de referencia

ACTIONSCRIPT (AS) Proyectos II. Audiovisuales. Dpto. Escultura. UPV. [sintaxis elemental]

Scripting en el cliente: Javascript. Tecnologías Web

TEMA 9 CREACIÓN DE PÁGINAS WEB

Servicio de Notificaciones Electrónicas y Dirección Electrónica Habilitada

PROGRAMACIÓN PÁGINAS WEB CON PHP

Tomar información por pantalla con JavaScript


Curso de JAVASCRIPT 3 / 3

CONTROLES FORMULARIOS PRIMERA PARTE

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

Grupo: Documentación Tipo documento: Manual de Usuario V.1.0 /2011 René Darío Pacios Díaz

JavaScript,, AJAX y otras tecnologías web. Área de Ingeniería Telemática

CURSO DE PROGRAMACIÓN PHP MySQL

5.- Crear páginas web con Nvu

Clases y objetos en JavaScript

TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B)

Los formularios irán delimitados por las etiquetas <FORM> y </FORM>, la cual tiene dos parámetros:

Manual del Protocolo XML-RPC de Mensajería Negocios

Formularios HTML. Desarrollo de Aplicaciones Web Departamento Informática y Sistemas Universidad de Murcia Curso 2013/2014

Lo básico de Javascript. ISIS2603 Departamento de Sistemas y Computación Universidad de los Andes

CapÍtulo 3: Manejo de Forms.

Herramientas Informáticas para la Documentación Práctica 1. Introducción al navegador Netscape

Introducción a PHP. * No es necesario declarar previamente las variables.

Tutorial Internet Explorer 5.5

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

Manual de Usuario Sitio Dinámico e-ducativa Versión

HTML Dinámico: JavaScript. HTML Dinámico: JavaScript. Grupo de Ingeniería del Software. Departamento de Lenguajes y Sistemas Informáticos HTTP TCP/IP

Portal Del Emisor MANUAL DEL USUARIO. Plataforma de Facturación Electrónica

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

MANUAL DE USUARIO. SISTEMA DE INVENTARIO DE OPERACIONES ESTADÍSTICAS.

10. El entorno de publicación web (Publiweb)

TEMA 1.- Conceptos Generales y Entorno de Trabajo Objetivo

2- Formularios y JavaScript Course: Developing web- based applica=ons

JavaScript. El modelo de objetos. Tecnologías web 17. El modelo de objetos de JavaScript. Los objetos del navegador. Los objetos del navegador

BANNERS CÍCLICOS CON JAVASCRIPT

Introducción al lenguaje JAVA

MANUAL DE LA APLICACIÓN DE ENVÍO DE SMS

Correo Electrónico: Webmail: Horde 3.1.1

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

Servicio Webmail. La fibra no tiene competencia

La plantilla propone aprovechar esta estructura en común y sólo modificar el contenido del área del documento que sea diferente.

1. Utilizar JavaScript en un documento HTML Tipos de datos y expresiones en JavaScript Variables Expresiones y operadores...

Para iniciarnos en el estudio de este curso necesitamos estar familiarizados con ciertos conceptos generales, entre ellos:

Ejercicio: Mensajes Alert, Confirm y Prompt

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema

Manual de Usuario de la Herramienta SICRES-Tester. SIR Sistema de Interconexión de Registros. Tipo de documento. Fecha de entrega 08/04/2014

PHP HypertextPreProcessor

FOROS. Manual de Usuario

PHP. Introducción (1) Introducción (3) Introducción (2) PHP 1

Ejemplos básicos de webmathematica para profesores

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa Configuración Internet Explorer para ActiveX...

Tema 4: Diseño e Implementación de la Capa Web

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

Páginas web ::: El sitio web: estructura y navegación Diseño de materiales multimedia. Web Sitio web: estructura y navegación

El lenguaje JavaScript. Asignatura: Programació III Curso: 1999/2000 Profesor: Toni Navarrete

Profesor: Víctor Cárdenas Schweiger

PROGRAMACIÓN PÁGINAS WEB JAVASCRIPT Y PHP

TUTORIAL SOBRE EXPRESIONES REGULARES EN JAVASCRIPT PARA VALIDACIÓN DE CAMPOS EN FORMULARIOS HTML:

1. Los lenguajes de marcas. - Características de los lenguajes de marcas.

Introducción al desarrollo web (idesweb)

Denominación: PROGRAMACIÓN CON LENGUAJES DE GUIÓN EN PÁGINAS WEB. Código: UF1305

Programación de páginas web dinámicas con CGIs

MINI MANUAL PARA CREAR FORMULARIOS CON PHP Marzo 2007

CONVERSOR LIBROS DE REGISTRO (IVA IGIC) Agencia Tributaria DEPARTAMENTO DE INFORMÁTICA TRIBUTARIA

Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario

Es el listado de los productos que están ofertados en la página.

APRENDE A CREAR UNA PÁGINA WEB CON HTML

Índice. Fundamentos de Desarrollo de Aplicaciones Web en J2EE. JavaScript básico. Qué es JavaScript? Para qué es bueno JavaScript?

Programación en Internet

MultiBase Cosmos. Notas a la versión 4.4, release 1. BASE 100, S.A.

Elementos léxicos del lenguaje de programación Java

MANUAL DE USUARIO DE LA UNIVERSIDAD

Electrónica: Configuración en Mozilla Firefox

1. INTRODUCCIÓN 2 2. EVERDRIVE LITE 3 3. SINCRONIZADOR DE EVERDRIVE 4 4. VISTA GENERAL DE LAS OPCIONES DE LA APLICACIÓN 5

Kaldeera Advanced Forms 2009 Guía del usuario

Transcripción:

Tema 2: JavaScript. 1. Introducción. 2. Sintaxis. 3. Cadenas, Matrices y Objetos. 4. Eventos. 5. Modelo de Objetos. 6. Aplicaciones. Tema 2: JavaScript 1 1. Introducción. Lenguaje interpretado. Creado por Netscape para añadir interactividad a los documentos HTML. Es un lenguaje interpretado (por el browser), embebido dentro del documento HTML. La sintaxis es similar a la del C++ y Java, aunque bastante más relajada: P.e: El ; es recomendable, pero no obligatorio. Tema 2: JavaScript 2

1. Introducción. Versiones. Navigator 2.0 JavaScript 1.0 Internet Explorer 3.0 JScript 1 (ECMAScript v.1) Navigator 3.0 JavaScript 1.1 (ECMAScript v.1) Internet Explorer 4.0 JScript 3 (ECMAScript v.2) Navigator 4.0 JavaScript 1.2 Navigator 4.06 JavaScript 1.3 (ECMAScript v.2) Internet Explorer 5.0 JScript 5 Navigator 5.0 JavaScript 1.4 Internet Explorer 5.5 JScript 5.5 (ECMAScript v.3) Navigator 6.0 JavaScript 1.5 (ECMAScript v.3) Tema 2: JavaScript 3 1. Introducción. Insertar código JavaScript (I). Escribir el código dentro de la página, utilizando la directiva <SCRIPT>.. </SCRIPT>. <html> <head> <script language= javascript > (o <script type= text/javascript >) <!-- function EstaVacio(objeto) { if (!objeto.value.length ) { alert("este campo no puede estar vacío"); objeto.focus(); // --> </script> </head> <body>. Tema 2: JavaScript 4

1. Introducción. Insertar código JavaScript (II). En un fichero separado: <script src="programa.js"></script> Como valor de un atributo de tipo evento: <body OnUnLoad="alert('Hasta Luego!')"> Como destino de un hiperenlace: <a href="javascript:window.open( hist.html', 'historia', 'width=600, height=500')"> Un poco de historia </a> Tema 2: JavaScript 5 2. Sintaxis. Comentarios. Los comentarios al código se realizan del mismos modo que en el C, C++ y Java. <script language=javascript> <!-- // Esto es un comentario. function EstaVacio(objeto) { /* Esto es otro comentario que ocupa varias líneas */ if (!objeto.value.length ) { alert("este campo no puede estar vacío"); objeto.focus(); // --> </script> Tema 2: JavaScript 6

2. Sintaxis. Declaración de variables. Para declarar una variable se utiliza la palabra var (la declaración no es obligatoria, aunque si aconsejable): var i = 5.5, j; var nombre="juan Marin"; k = i + j + 3; // OK. i = w + 3; // Problemas. El nombre de la variable empieza por una letra o por el símbolo _, y esta formado por caracteres alfanuméricos (es sensible al contexto). var obj_3d, Obj_3D; // Son variables diferentes. Las variables no tiene un tipo fijo: var i = 3; i = 5.5; i = Juan ; // Sería valido. Tema 2: JavaScript 7 5 tipos básicos: Numérico: Enteros y reales. var i = 3; 2. Sintaxis. Tipos de datos. Booleano: true y false (convertibles a los valores 1 y 0). Cadena: delimitadas por comillas dobles o simples. var cad1 = Juan, cad2= Pepe, cad3 = cad1 + Marín ; Objetos: var obj1 = new Object(); Función: var g; g = EstaVacio; Array: var m = new Array(); Fecha: var m = new Date(2002, 1, 28); Nulo: cad1 = null; Tema 2: JavaScript 8

2. Sintaxis. Operadores. Aritméticos: ++, --, +, -, *, /, %, \ (div). Lógicos: &&,,! Relacionales: ==,!=, <, <=, >, >=, === (identidad),!== Bit a bit: &,, ^, ~, <<, >> Asignación: =, +=, -=, *=, /=, %=, &=, = Otros:? :,., new, delete, typeof, void. Ejemplos: if ( 1 == true ) alert( son iguales ); if ( 1!== true ) alert( no son identicos ); Tema 2: JavaScript 9 2. Sintaxis. Estructuras de control de flujo. if (cond) {.. else {... switch (valor){ case:.. while (cond) {.. do {.. while (cond); for ( valor inicial; cond; incr ) {.. for-in, para enumeraciones. Ejemplo: var test = new Object(); test.camp1 ="Campo uno"; test.camp2 ="Campo dos"; test.camp3 ="Campo tres"; var a; for ( a in test ) document.write( a + " = " + test[a] + "<br>"); Tema 2: JavaScript 10

2. Sintaxis. Funciones (I). Para la definición se utiliza la palabra reservada function : function nombre_func ( a, b ) { El paso de parámetros es siempre por valor. Devuelve valores a través de la sentencia return Las variables definidas dentro de la función tiene ámbito local. Cualquier variable definida fuera de una función tiene un ámbito global. Las variables globales son accesibles desde otros frames. Tema 2: JavaScript 11 2. Sintaxis. Funciones (II). Ejemplo de variables globales compartidas entre frames distintos: <html> <frameset cols="*,*"> <frame name="frame_izq" src="doc1.htm"> <frame name="frame_der" src="doc2.htm"> </frameset> </html> ---------------------------------doc1.html--------------------------------- <script language="javascript"> var v_izquierda = 0; function f_izquierda() { alert ('valor =' + v_izquierda ); </script> ---------------------------------doc2.html--------------------------------- <script language="javascript"> top.frame_izq.v_izquierda ++; top.frame_izq.f_izquierda(); </script> Tema 2: JavaScript 12

2. Sintaxis. Funciones (III). Existen varias formas de definir funciones: De forma similar al C: function menor(x,y) { if (x<y) return x; else return y; document.write(menor(5,6)); Utilizando el constructor Function (creadas de forma dinámica): var f = new Function( x, y, if(x<y) return x; else return y; ); document.write(f(15,9)); Mezclando las dos anteriores (estática): var g = function(x,y) { if(x<y) return x; else return y; document.write(g(23,29)); Tema 2: JavaScript 13 3. Objetos: String, Array y Object. Cadenas (I). Delimitadas por comillas dobles o sencillas. var nom1="juan ", ape1= Marin'; Concatenadas con el operado +. nombre_completo = nom1 + ape1; Constructor: String() var cad = new String(); Propiedades: length. longitud = ("Juan Morillo").length + nom1.length; Métodos: charat (pos): Carácter de la cadena situado en una posición dada. letra = "javascript.charat(4); Tema 2: JavaScript 14

3. Objetos: String, Array y Object. Cadenas (II). indexof (subcad [,pos_ini]): Posición de comienzo de una subcadena dentro de una cadena: pos = nombre_completo.indexof( an ); substr (pos_ini, longitud): Subcadena dentro de una cadena. cadena = "javascript.substr(4,6); tolowercase () y touppercase() : Convierte la cadena a minúsculas y a mayúsculas respectivamente. if ("JavaScript".toUpperCase() == "javascript".touppercase() ) document.write('<p>son iguales.'); Tema 2: JavaScript 15 3. Objetos: String, Array y Object. Arrays (I). Son dinámicos (su tamaño puede cambiar en tiempo de ejecución) y heterogéneos (el tipo de sus elementos puede ser diferente). Constructor: Array(). var vec1 = new Array(); vec1 = [ 4, 7, "hola", true]; var vec2 = new Array( 2, "Pepe", 13.56); Son dispersos: reserva espacio sólo para las posiciones ocupadas. var v = new Array(); v[100]="hola ; v[100000000]=2.8; Arrays de varias dimensiones: var Matriz = new Array(); for ( i = 0; i<5; i ++ ) Matriz[i] = new Array(); Matriz[3][4] = 45; Tema 2: JavaScript 16

3. Objetos: String, Array y Object. Arrays (II). Propiedades: length (Indice del último elemento del array): ultimo = v.length; Métodos: concat (segundo array). Concatena arrays: var v1 = new Array(1,24), v2 = new Array(6,7); v = v1.concat(v2); join ([delimitador]). Agrupa los elementos en una cadena. alert(v.join('-')); reverse (). Invierte el array: v.reverse(); sort ([función]). Ordena el array: v.sort(); Tema 2: JavaScript 17 3. Objetos: String, Array y Object. Objetos (I). No existe el concepto de clase propiamente dicho, ni el de herencia. Crear objetos: Constructor genérico Object(): var obj = new Object(); obj.exist = 3; obj.stock = true; obj.estado = Vend. ; Dando una lista de propiedades: var obj = {exist:3, stock:true, estado: Vendidos ; Empleando constructores definidos por el usuario: function Articulo( exi, sto, est) { this.exist = exi; this.stock = sto; this.estado = est; var obj = new Articulo(3, true, Vendidos ); Tema 2: JavaScript 18

3. Objetos: String, Array y Object. Objetos (II). Para acceder a las propiedades del objeto se utiliza el operador., o el operador [ ] : obj.exist = 45; // Ambas sentencias son equivalentes obj[ exist ] = 45; Las propiedades y los métodos del objeto se añaden dinámicamente, sin necesidad de ser definidas con antelación: function Resumen() { var cad = ""; for (prop in this) cad += this[prop].tostring() + "\n"; return cad; obj.precio = 12.4; obj.extracto = Resumen; alert(obj.extracto()); Tema 2: JavaScript 19 3. Objetos: String, Array y Object. Objetos (III). Las propiedades y los métodos pueden ser eliminados dinámicamente con el operador delete. delete obj.valor; alert(obj.extracto()); Con las propiedades y los métodos prototipo (prototype) se pueden añadir de forma dinámica propiedades y métodos al constructor. function Valor() { return this.precio * this.exist; var a1 = new Articulo(2,true,"Vendidos"); var a2 = new Articulo(4,true,"Vendidos"); Articulo.prototype.precio = 1.0; Articulo.prototype.valor = Valor; a2.precio = 15; alert('total:' + (a1.valor() + a2.valor())); Tema 2: JavaScript 20

4. Eventos. Manejadores de Eventos. JavaScript es un lenguaje orientado a eventos: El código javascript se resume en un conjunto de subprogramas ejecutados tras activar el evento correspondiente. A estas rutinas javascript, ejecutadas al activar un evento, se les llama manejadores del evento. La gestión de los eventos la realiza el browser: Activa el manejador del evento automáticamente al producirse dicho evento. El manejador del evento se definen a través de: Atributos de las directivas HTML: <BODY onunload= alert( Hasta Luego ); > Propiedades del objeto: window.onunload=function() {alert( Hasta Luego ); Tema 2: JavaScript 21 4. Eventos. Eventos más importantes (I). onclick: Click del ratón. Objetos: link y botones del formulario. Si el manejador devuelve false se cancela la acción. <script language="javascript"> function Aviso() { var mensaje="el contenido de la página podría herir "+ "la sensibilidad.\n"+ " Seguro que deseas continuar?"; return confirm (mensaje); </script>. <a href="http://informatica.uv.es/fcotomas/" onclick="return Aviso();">Propaganda electoral</a> Tema 2: JavaScript 22

4. Eventos. Eventos más importantes (II). onmouseover / OnMouseOut: El ratón entra/sale del elemento. Objetos: link, image, area. <a href="http://www.uv.es/" onmouseover="window.status='pagina de la universidad'; return true;" onmouseout="window.status='';">univ.</a> onfocus / OnBlur: El objeto toma/pierde el foco. Objetos: window y todos los elementos del formulario. <body onfocus="document.bgcolor='white'" onblur= "document.bgcolor= lightgrey'"> onload / OnUnLoad: El documento ha terminado la carga (OnLoad) / está a punto de descargarse (OnUnLoad). Objetos: window. Tema 2: JavaScript 23 4. Eventos. Eventos más importantes (III). onsubmit / OnReset: ha sido pulsado el botón de submit /reset del formulario. Devolviendo false se anula la acción del botón. <script language="javascript"> function ValidarDatos() { var OK; if (!OK ) return false; else return true; </script> <form name="miformulario" action="/cgi-bin/prog.cgi" method="post" onsubmit="validardatos();"> </form> Tema 2: JavaScript 24

4. Eventos. Eventos más importantes (IV). onresize: Cambia el tamaño de la ventana. Objetos: window. onchange / onselect : Cambia/selecciona el texto. Objetos: entrada de texto, textarea. onkeydown / onkeypress / onkeyup: Pulsa una tecla / mantiene pulsada una tecla / suelta una tecla. Tema 2: JavaScript 25 5. Modelo de Objetos. Objeto Date (I). Date: Objeto de tipo fecha y hora. Constructor: Date(): var hoy = Date(); // guarda: Thu Mar 7 13:01:00 UTC+0100 2002 Date( mes dia, año hora:minutos:segundos ): var f1 = new Date("Mar 17, 2002 21:01"); Date(año, mes, día, [hora, [minuto, [segundos, [miliseg]]]]): var f1 = new Date( 2002, 2, 17, 21, 01); Métodos: getdate() / setdate(diadelmes): recupera/fija el día del més. getday() / setday(diadelasemana) : recupera/fija el día de la semana. Tema 2: JavaScript 26

5. Modelo de Objetos. Objeto Date (II). gethours() / sethours(hora) : recupera/fija la hora del día. getminutes() / setminutes (hora) : recupera/fija los minutos de la hora. getmonth() / setmonth(mes) : recupera/fija el mes del año. getseconds() / setseconds (segundos) : recupera/fija los segundos del minuto. gettime() / settime (hora) : recupera/fija los milisegundos pasados desde el 1 de Enero de 1970. getfullyear() / setfullyear (año) : recupera/fija el año completo (empleando cuatro dígitos). var f = new Date(); var aleatorio_0_99 = gettime()%100; f.setdate(17); f.sethours(21); f.setminutes(1); f.setmonth(2); f.setfullyear(2002); Tema 2: JavaScript 27 5. Modelo de Objetos. Objeto Math. Las funciones matemáticas están disponibles sólo a partir del objeto Math. Propiedades: E, LN10, LN2, LOG10E, LOG2E, PI, SQRT1_2, SQRT2. Métodos: opera = Math.E * Math.PI / Math.SQRT2; abs(num), ceil(num), exp(num), floor(num), log(num), max(num1,num2), min(num1,num2), pow(basem, expon), random(), round(num), sqrt(num), acos(num), asin(num), atan(num), atan2(x,y), cos(num), sin(num), tan(num). opera = Math.cos(Math.acos(0)); Tema 2: JavaScript 28

5. Modelo de Objetos. Objetos del Browser (I). El javascript proporciona una serie de objetos predefinidos que permiten interaccionar con el browser y con los documentos HTML visualizados. Existen algunas diferencias entre el modelo de objetos de Netscape y el de Internet Explorer. Estos objetos mantienen una estructura jerárquica. window es el objeto principal. Tema 2: JavaScript 29 5. Modelo de Objetos. Objetos del Browser (II). Tema 2: JavaScript 30

5. Modelo de Objetos. Objeto navigator. Contiene información sobre el propio browser. Propiedades: appname: nombre común del Navegador. alert(navigator.appname); // visualiza: Netscape appversion: versión del browser. alert(navigator.appname); // visualiza: 5.0(Windows; es-es) useragent: información que envía el browser al servidor. p.e: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) Tema 2: JavaScript 31 5. Modelo de Objetos. Objeto window (I). window: ventana del browser. Objeto padre de los objetos document, location y history. Propiedades: frames: Array de frames. length: Número de frames. name: nombre de la ventana (creada p.e. con open()). parent: ventana padre. top: ventana del nivel superior. status: texto de la barra de estado (para un mensaje temporal). defaultstatus: Texto por defecto de la barra de estado. Tema 2: JavaScript 32

Métodos: 5. Modelo de Objetos. Objeto window (II). alert(mensaje): abre una ventana con un mensaje de alerta. confirm(mensaje): similar. prompt(mensaje, [Texto por defecto]) : Entrada de texto en una ventana de dialogo. var g= window.prompt( Introduce un texto'); document.write('<br> Has introducido ' + g); open(url, nombre, [propiedades]): Abre una ventana. var newwin = window.open("http://www.uv.es", "nueva", "width=400, height=300"); close(): Cierra la ventana. newwin.close(); settimeout(codigo,delay): Ejecuta el código javascript indicado en el primer parámetro (codigo) cuando hallan pasado los milisegundos fijados en el 2º parámetro (delay). Tema 2: JavaScript 33 Url de la ventana. Propiedades: 5. Modelo de Objetos. Objeto location. hash: porción de la url que sigue a #. hostname: nombre de la máquina de la url. href: contenido total de la url. protocol: protocolo de la url. search: porción de la url que sigue a?. pathname: camino. port: puerto. Métodos: reload(): recarga el documento: <body onload="settimeout('window.location.reload()',50000);"> replace(nueva url): Remplaza el actual documento. Tema 2: JavaScript 34

5. Modelo de Objetos. Objeto history. Historial de la páginas visitadas. Se guarda en forma de array. Propiedades: length: longitud del historial. Métodos: back(): Carga el url anterior. window.history.back(); forward(): Carga el url anterior. go(n): carga el url situado dentro del array n lugares a la derecha (si n es positivo), o n lugares a la izquierda (si n es negativo), tomando como referencia la posición del url actual: window.history.go(-2); Tema 2: JavaScript 35 5. Modelo de Objetos. Objeto document (I). Representa al propio documento visualizado en el browser. Propiedades: title: título del documento. bgcolor y fgcolor: Color del fondo y del texto del documento. images: Array de imágenes incluidas dentro del documento. forms: Array de formularios. links: Array de links. linkcolor, alinkcolor, vlinkcolor: Colores de los enlaces. cookie: Cadena con el valor del cookie asociado al documento. Métodos: clear(): Borra el documento. write(..) y writeln(..) : Añade texto al documento. Tema 2: JavaScript 36

5. Modelo de Objetos. Objeto document (II). open(..): Abre un bloque de escritura para añadir nuevos contenidos (una vez cargado todo el documento HTML en el browser, para añadir contenidos con document.write es necesario abrir un bloque, en caso contrario podría no mostrarse). close(): cierra el bloque de escritura, visualizando el nuevo contenido (creado con document.write). document.open(); document.write("<p>el contenido anterior ha sido borrado por motivos de."); document.write("<p> Para volver a visualizarlo, pulsa el botón de recargar"); document.close(); Tema 2: JavaScript 37 5. Modelo de Objetos. Objeto imagen. Imagenes incluidos en el documento a partir de la directiva <IMG>. Se acceden a ellas a partir del array images de document. Propiedades: name: nombre de la imagen. src: dirección url de la imagen. width / heigth: ancho / alto de la imagen. hspace / vspace: espacio horizontal/vertical que mantiene la imagen con los elementos circundantes. <IMG name="logotipo" src= "logo.jpg" height= "300" > document.images[0].height = 400; document.images[ logotipo ].height = 400; document.images.logotipo.height = 400; Tema 2: JavaScript 38

5. Modelo de Objetos. Objeto link (I). Enlaces hipertexto incluidos en el documento, creados a partir de la directiva <A>..</A>. Se acceden a partir del array links de document. Propiedades: hostname: nombre de la máquina de la url. href: contenido total de la url. protocol: protocolo de la url. port: puerto. target: nombre del frame donde se visualizará el contenido del documento apuntado en la url. for (var i=0; i<document.links.length; i++) document.links[i].target = "frame1"; Tema 2: JavaScript 39 5. Modelo de Objetos. Objeto link (II). Manejadores de eventos: onclick() / ondblclick(): métodos invocados cuando se realiza un click / un doble click sobre el enlace. onmouse() / onmouseout(): métodos invocados cuando se sitúa el cursor del ratón sobre / fuera del enlace. <a name="ftomas" href="http://informatica.uv.es/fcotomas/"> Página de Paco Tomás</a> document.links[0].onclick = new Function( "return confirm('seguro que quieres visitar la página de Paco Tomás');" ); Tema 2: JavaScript 40

5. Modelo de Objetos. Objeto Form (I). Formularios incluidos en el documentos a través de la directiva <FORM> </FORM>. Se acceden a ellos partir del array forms de document. Propiedades: action. URL donde se enviarán los datos del formulario. elements. array que contiene todos los elementos del formulario: entradas texto, cajas de selección, botones de radio, áreas de texto, combo box, etc. encoding: tipo de codificación de los datos. method: método de envío (GET o POST). target:frame donde se visualizará el resultado. Tema 2: JavaScript 41 Manejadores de eventos: 5. Modelo de Objetos. Objeto Form (II). onreset() y onsubmit(): manejadores de los eventos generados tras pulsar el botón de reset y de submit, respectivamente. function CompruebaNombre() { a = document.forms[0].elements[0].value); // Las dos siguientes son equivalentes a la primera: a = document.forms["formulario1"].elements["fulano"].value); a = document.forms.formulario1.fulano.value); <form name='formulario1' action='' onsubmit="alert('mensaje1');"> Identificate:<input type='text' name='fulano'><br> <input type='button' value='ok' name='confirma' onclick='compruebanombre();'><br><input type="submit"></form> document.forms.formulario1.onsubmit=function(){alert('mensaje2'); Tema 2: JavaScript 42

5. Modelo de Objetos. Objeto Element. Elementos incluidos dentro del formulario. Se acceden a ellos a través del vector elements del objeto form, o a través de su nombre (name). Propiedades: form: referencia al formulario al que pertenece. type: tipo de objeto. value: valor asociado. Otros particulares de cada tipo de elemento Manejadores de eventos: onfocus(), onblur(): generales a todos los elementos. onchange(): sólo para Password, Text, Textarea y Select. onclick(): Button, Checkbox, Radio, Reset, Submit. ondblclick(): Button, Reset, Submit. Tema 2: JavaScript 43 6. Aplicaciones. Manejo de cookies (I). Son utilizadas por la pagina visitada para almacenar información temporal. Se ahorra de esta manera guardar la información en el lado del servidor. Son simples ficheros texto. Todos los cookies se guardan en directorio fijo (habilitado para el caso). El acceso está restringido: en principio sólo las páginas del mismo dominio pueden acceder a la información. Utilidad de los cookies: Identificar a un usuario durante una sesión de comercio elect. Evitar introducir el usuario y el password de forma repetida. Personalizar un sitio web para cada visitante. Etc. Tema 2: JavaScript 44

6. Aplicaciones. Manejo de cookies (II). En javascript, se accede a los datos del cookie a partir de la propiedad cookie de document: var micookie = document.cookie; alert(micookie); document.cookie = nombre=juan;apellidos=ruiz ; Para que se grabe en disco debe fijarse una fecha de expiración. En caso contrario, sólo se mantiene temporalmente en memoria. Para fijar dicha fecha se utiliza la variable expires. function AddDataCookie(variable, dato, miliseg_vida) { if ( miliseg_vida ) { var fecha = new Date(); fecha.settime(fecha.gettime() + miliseg_vida); document.cookie = (variable + '=' + escape(dato) + ';expires=' + fecha.togmtstring()); else document.cookie = variable + '=' + escape(dato); Tema 2: JavaScript 45 6. Aplicaciones. Manejo de cookies (III). function GetDataCookie(variable) { var pos_ini, pos_fin, pos, mycook = document.cookie; if (!mycook) return ""; pos = mycook.indexof(variable); if ( pos == -1 ) return ""; pos_ini = mycook.indexof("=", pos); if ( pos_ini!= (pos + variable.length) ) return ""; pos_fin = mycook.indexof(";", pos_ini) - 1; if (pos_fin == -2) pos_fin = mycook.length - 1; return unescape( mycook.substr(pos_ini+1,(pos_fin-pos_ini)) ); function DeleteVarCookie(variable) { var fecha_cad = new Date(); fecha_cad.settime(fecha_cad.gettime() - 1000); document.cookie = variable + "=NULL;expires=" + fecha_cad.togmtstring(); Tema 2: JavaScript 46

6. Aplicaciones. Texto animado en la barra de estado.. <script language="javascript"> var speed = 200; var mensaje = "Bienvenido a la página personal de P. T. "; var start = -1; function AnimaMensaje() { start ++; if ( start >= mensaje.length ) start = 0; var texto = mensaje.substr(start, mensaje.length-start); texto += mensaje.substr(0,start); window.status = texto; window.settimeout("animamensaje()", speed); </script>. <body onload="animamensaje()">. Tema 2: JavaScript 47