miércoles, 31 de diciembre de 2014

Aprende como actualizar dos frames con un solo enlace



Ejemplo de control de frames mediante Javascript en el que, pulsando un solo enlace, se actualizan dos páginas distintas contenidas en dos frames.

Con lo que sabemos ya sobre el control de frames podemos realizar un ejemplo para afianzar los conocimientos. Se trata de un ejercicio muy sencillo para conseguir que, al pulsar un solo enlace, se actualice la página contenida en dos frames distintos. 

Como un enlace sólo sirve para actualizar el contenido de un frame, necesitaremos ejecutar unas sentencias javascript que sí nos permitan actualizar dos frames a la vez. 

Si no se entiende el objetivo perseguido en este ejemplo, podemos verlo en marcha en una página a parte


Referencia: Para entender este ejercicio deberíamos conocer cómo se hace referencia con Javascript desde un frame a otro.


Empecemos viendo la declaración de frames, que no tiene ninguna complicación pues es simplemente un código HTML que pudimos aprender a programar en los artículos dedicados a frames del manual de HTML

<html> 
<head> 
    <title>Ejemplo de frames numero 1</title> 
</head> 
<frameset rows="50%,*"> 
    <frame name="frame1" src="pagina1.html" marginwidth="10" marginheight="10" scrolling="auto" frameborder="0"> 
    <frame name="frame2" src="pagina2.html" marginwidth="10" marginheight="10" scrolling="auto" frameborder="0"> 
</frameset> 
</html>

Ahora veamos el código del primero de los frames, que es el que tiene la función Javascript para controlar los frames. 

<html> 
<head> 
    <title>Pagina 1</title> 
<script language="JavaScript"> 
function actualiza_2_frames(){ 
    window.parent.frames[1].location="http://www.google.com" 
    window.location="http://www.yahoo.es" 
} 
</script> 
</head> 
<body bgcolor="#ff9999"> 
<br> 
<br> 
<a href="javascript:actualiza_2_frames()">Actualiza dos frames con un solo enlace</a> 
</body> 
</html>

Al pulsar el enlace se llama a una función, colocada en la cabecera de la página, por comodidad y para evitar tener que escribir varias sentencias en el atributo href del enlace. 

La función, donde verdaderamente está el cogollo de este ejercicio, es extremadamente simple. La primera sentencia accede al frame colocado en segundo lugar (que tiene el índice 1) y actualiza su propiedad location, que es la URL de la página que se está visualizando. En este caso coloca la web de Google en dicho marco, aunque es indiferente lo que deseemos colocar y podríamos haber situado una dirección con un camino relativo al documento actual. 

En la segunda sentencia accedemos directamente a la propiedad location del objeto window, porque deseamos actualizar el mismo frame donde está colocado el script. Podríamos haber utilizado una sentencia como la siguiente: 

window.parent.frames[0].location=" http://www.yahoo.es " 

Pero en este caso no es necesario acceder a la declaración de frames y luego al frame 0 porque, como decía, estamos ya en él. 

Por último veamos el código del segundo frame, que no tiene nada de especial. 

<html> 
<head> 
    <title>Pagina 1</title> 
</head> 
<body bgcolor="#9999ff"> 
<br> 
<br> 
Este es el cuerpo del frame 2, que tiene índice 1 en el vector de frames 
</body> 
</html>




Fuente:enlace

Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros 

Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

Referencias desde un frame a otro


Aprendemos a acceder desde un frame a otro distinto.
Lo más habitual a la hora de trabajar con frames es que desde una página que pertenece a un frame deseemos acceder a alguna propiedad o método vinculado con otro frame. Para ello tenemos que utilizar también la jerarquía de objetos del navegador. 

En concreto utilizaremos la propiedad parent de los objetos frame, que nos da acceso a el objeto window donde está incluido ese frame. Así pues, el objeto que tenemos al acceder a la propiedad parent de un frame corresponde con el objeto window de la declaración de frames. A partir de ese objeto window podemos acceder a cualquier otro frame por la matriz de frames. 

Así haríamos para acceder desde el cualquier frame al frame 1. 

window.parent.frames[1] 


Nota: Recordar que los índices de los arrays en Javascript empiezan en 0, por lo que en este caso, el frame con índice 1 es el escrito en la declaración de frames en segunda posición.

Si quisiésemos acceder a la propiedad bgColor del documento alojado en el frame 1. 

window.parent.frames[1].document.bgColor 

Ahora veamos el código necesario para actualizar el contenido que se está visualizando en el frame 0, es decir, la URL que está mostrando. 

window.parent.frames[0].location="nueva_url.html" 
Ahora que ya sabemos referenciar desde un frame a cualquier otro, podremos hacer algún ejemplo interesante.


Fuente:enlace

Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros 
Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

martes, 30 de diciembre de 2014

Objetos frame en Javascript

Veamos con detenimiento los objetos frame, sus métodos y propiedades, que nos servirán para controlar los distintos marcos.

Los objetos frame son como los objetos window, aunque sin alguna propiedad muy específica de las ventanas del navegador, como por ejemplo el historial de páginas visitadas. Así pues, casi todo lo que podemos encontrar en un objeto window estará también en un objeto frame, por ejemplo el documento, con todo el contenido de la página. 

El funcionamiento del objeto frame es, por tanto, es igual de sencillo del del objeto window. Para ilustrarlo veamos estas líneas que cambiarían el color de fondo de los dos frames a rojo. 

window.frames[0].document.bgColor = "red" 
window.frames[1].document.bgColor = "red" 

Propiedades de frame 

Vamos a ver ahora una lista de las propiedades de los frames que nos servirán para controlarlos. 

document 
Es el documento del frame que se está visualizando. 

Frame 
Otros frames que pudiera haber anidados dentro de ese frame. 

frames array 
Array que contiene todos los frames que pudiera haber anidados dentro de ese frame. 

length 
Número de frames hay dentro del frame. 

name 
El nombre del frame, que colocamos con el atributo NAME 

parent 
Hace referencia al "padre" del frame, es decir, el objeto window donde está incluido este frame. 

self 
Es el frame actual. Es una referencia a si mismo. 

window 
Es el frame actual. Es una referencia a si mismo. 

Para que queden claras las propiedades window y self podemos ver estas sentencias. Todas ellas hacen referencia al segundo frame. 

window.frames[1] 
window.frames[1].window 
window.frames[1].self 

Y podríamos acceder a los colores de fondo de sus documentos de esta manera 

window.frames[1].document.bgColor 
window.frames[1].window.document.bgColor 
window.frames[1].self.document.bgColor 

Además de estas propiedades cabe recordar que lo frames contienen otras mucha propiedades del objeto window. En concreto tiene todas menos defaultStatus, history, opener y status. 


Nota: En navegadores medianamente actualizados existen todavía más maneras de referenciar a los distintos frames. Para ello también se puede utilizar el nombre que le hayamos asignado al frame en la declaración HTML. Dicho nombre se indica con el atributo name incluido dentro de la etiqueta <FRAME>. 

Por ejemplo, si hubiesemos llamado a uno de nuestros frames "frame0" podríamos referenciarlo, desde la página que declara los frames, con estas dos sentencias: 

window.frame0 
window.frames["frame0"] 

Esta manera de referenciar funciona perfectamente en los navegadores IExplorer 6 y Netscape 7. Suponemos que también funcionará en navegadores desde la versión 4 en adelante, aunque en esos casos no lo hemos probado. Donde hemos probado estos métodos de acceso y seguro que no funciona es en Netscape 3.

Fuente:enlace

Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros 

Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

Control de frames con Javascript


Primeras notas sobre el control de frames en Javascript y la jerarquía de objetos para acceder a ellos.


Los frames son una forma de partir una web en sectores, haciendo que en cada parte se visualice un documento HTML distinto. Es muy útil cuando queremos que una zona de la web esté siempre visible en el mismo lugar de la página, ya que puede quedar en un frame independiente y no se tiene que recargar cada vez que el usuario cambia de página. 

Los frames se consiguen con las etiquetas <FRAMESET> y <FRAME>. No obstante, no es el momento de explicar en detalle los entresijos de la creación de frames en HTML, por lo que esperamos que los lectores ya estén familiarizados con este tema. 


Referencia: Podemos consultar el manual de HTML de DesarrolloWeb.com, en el que se habla de lacreación de frames.


Con Javascript podemos controlar las páginas que están en cada uno de los frames del web para hacer todo tipo de acciones como pueden ser pasar información entre las páginas, actualizar varios frames a la vez o lo que necesitemos en cada momento. 

Para poder llevar a cabo todas esas acciones mediante javascript, podemos utilizar jerarquía de objetos del navegador, que nos dará acceso a cada uno de los frames de la página, de modo que conociendo bien la jerarquía tendremos todo el control sobre los frames. 

Acceso desde la página que declara los frames hacia esos frames que contiene 

En la página que define los frames (donde podemos encontrar las etiquetas <FRAMESET> y <FRAME>) no podemos colocar texto como cuerpo de la página, pero si una cabecera donde debemos especificar el título y donde además podremos colocar scripts que realicen acciones con, por ejemplo, accesos a los frames. 

Para ello, en las páginas que declaran los frames, se tiene acceso a ellos mediante el vector de frames, que es una de las propiedades del objeto window. El vector de frames contiene una referencia a cada uno de los frames de la página siendo el primer índice (índice 0) el frame escrito en primer lugar. El segundo frame sería el índice 1 y así sucesivamente. 

Supongamos que tenemos una página con dos frames. El esquema implica la participación de tres páginas, una para la declaración de frames y las otras dos para los documentos HTML de cada uno de los dos frames. Entonces, desde la página declaración de frames tendremos acceso a los dos frames de esta manera. 



Fuente:enlace

Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros 

Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

lunes, 29 de diciembre de 2014

Aprende sobre el valor de la propiedad method y target


La función que modifica el valor de method es muy similar a la que modifica el valor de action y target.

4.1 Sobre la propiedad Method

Como dijese anteriormente, modificar el valor de la propiedad method carece de un verdadero sentido. Pero, de todas formas, esto siempre dependerá de lo que se necesite hacer.
La función que modifica el valor de method es muy similar a la que modifica el valor deaction y target.
Veamos como se realiza este función:

<script languaje="javascript">
function CambiaMethod()
{ form1.method ="POST"; }
</script>

Realmente es similar a la vista en el punto anterior.
Ahora, pondremos un ejemplo en práctica, donde le damos al usuario la posibilidad de elegir el método del envío de datos y según el tipo de envío que elija, será a la página que lo enviemos:

El Script...
<script languaje="javascript">
function CambiaMethod()
{
    if (form1.POST.checked == true)
    {
    form1.method ="POST";
    form1.action = "ejemplos/procesar.asp"
    }

    if (form1.GET.checked == true)
    {
    form1.method = "GET";
    form1.action = "ejemplos/procesar1.asp"
    }

form1.submit()
}
</script>

El formulario...
<form name="form1" method="post" action="ejemplos/procesar.asp" target="_blank">
Escribe tu nombre: <input type="text" name="nombre"><br>
<input type="checkbox" name="POST" value="ON">Método POST |
<input type="checkbox" name="GET" value="ON">Método GET<br>
<input type="button" value="Enviar" onClick="CambiaMethod(this.form)">
</form>

Los resultados...
Escribe tu nombre: Método POST | Método GET 

4.2 Sobre la propiedad Target

De igual forma que en el anterior ejemplo, veremos un caso en el que el usuario seleccionará el target en el cual desea visualizar los resultados enviados por el formulario.

El Script...
<script languaje="javascript">
function CambiaTarget()
{
    if (form2.blank.checked == true)
    {
    form2.target ="_blank";
    }

    if (form2.self.checked == true)
    {
    form2.target = "_self";
    }

form2.submit()
}
</script>

El formulario...
<form name="form2" method="post" action="ejemplos/procesar.asp" target="_blank">
Escribe tu nombre: <input type="text" name="nombre"><br>
<input type="checkbox" name="blank" value="ON">Resultados en nueva ventana |
<input type="checkbox" name="self" value="ON">en la misma ventana<br>
<input type="button" value="Enviar" onClick="CambiaTarget(this.form)">
</form>



Fuente:enlace

Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros 

Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

Entradas populares