Si tienes problemas ejecutando el evento onLoad (body) puede ser por dos factores:
1.el navegador tiene alguna opcion habilitada de seguridad y no permite la ejecucion del javascript (en el caso en el que te avisará.
2. Si tu pantalla esta compuesta por frames o estas cargando otra ventana en un iframe, si mas de uno de los body de las paginas que hay tiene un evento onLoad solo se ejecutara el body interno, es decir el del body que esta en el ultimo frame que se pinta, por lo tanto los onLoad de los otros body no se ejecutaran.
solucion para esto:
añadir etiquetas script al final del body de la pagina que no se te esta ejecutando, llamando al metodo que quieres en el onLoad.
miércoles, 23 de enero de 2008
Trabajar con iFrames desde el la pantalla padre
Creamos un iframe
la propiedad scrolling dice si se debe mostrar o no las barras de scroll, puede valer:
si: se muestran (forzadamente)
no:se muestran
auto: se muestran si el tamaño de lo de dentro lo requiere.
Para acceder desde la pantalla padre al iframe hijo:
Esto es para acceder a cualquier elemento:
document.iFrameEnvio.document.getElementById('contenido_aplicacion').innerHTML;
Si quisieras accedeer a las propiedades de la ventana del iframe. (porque el el iFrame lo trata el navegador como otro objeto window, por lo tanto valen todas sus propiedades):
Con este codigo redimensionamos el iframe para que ocupe lo que le permite ocupar el padre:
var oBody = document.iFrameEnvio.document.body;
var oFrame = document.all("iFrameEnvio");
oFrame.style.height = oBody.scrollHeight + (oBody.offsetHeight - oBody.clientHeight);
oFrame.style.width = oBody.scrollWidth + (oBody.offsetWidth - oBody.clientWidth);
Hay veces que el iframe tiene una estructura compleja de frames dentro de él y a nosotros solo nos interesa mostrar una parte, pues podemos cuadrarla moviendo el scroll hacia los lados o hacia arriba. (esto es gracias a que el iframe es tratado como un window y por lo tanto tiene estas propiedades);
desde la la propia ventana hija podemos decirle que en el onLoad(), se mueva un poco:
window.scrollBy(13,0); //Cantidades en pixeles (x,y)
si hubiesemos definido scrolling="no" al definir el iframe se mostraria siempre esta parte
Otra opcion es ver el codigo fuente de la pantalla del iframe y ocultar las cosas que no queramos que se vean mediante javascript:
document.getElementById("div_cabecera").style.display="none"; //desde el propio iframe
o desde el padre:
document.iFrameEnvio.document.getElementById("div_cabecera").style.display="none";
Para acceder desde la hija a los elementos html del padre:
if(window.parent.document.getElementById("llamadaDesdeGrei") != null)
//pregunta si la ventana padre tiene un elemento "llamadadesdeGrei". Esto puede ser un flag paraque la pantalla hija sepa siempre cual es su padre.
Quitar el scrollhorizontal de un iframe: en esta url viene como hacerlo
http://www.marlexsystems.org/%C2%BFcomo-quitar-el-scrollbar-horizontal-en-un-iframe-o-frame/
la propiedad scrolling dice si se debe mostrar o no las barras de scroll, puede valer:
si: se muestran (forzadamente)
no:se muestran
auto: se muestran si el tamaño de lo de dentro lo requiere.
Para acceder desde la pantalla padre al iframe hijo:
Esto es para acceder a cualquier elemento:
document.iFrameEnvio.document.getElementById('contenido_aplicacion').innerHTML;
Si quisieras accedeer a las propiedades de la ventana del iframe. (porque el el iFrame lo trata el navegador como otro objeto window, por lo tanto valen todas sus propiedades):
Con este codigo redimensionamos el iframe para que ocupe lo que le permite ocupar el padre:
var oBody = document.iFrameEnvio.document.body;
var oFrame = document.all("iFrameEnvio");
oFrame.style.height = oBody.scrollHeight + (oBody.offsetHeight - oBody.clientHeight);
oFrame.style.width = oBody.scrollWidth + (oBody.offsetWidth - oBody.clientWidth);
Hay veces que el iframe tiene una estructura compleja de frames dentro de él y a nosotros solo nos interesa mostrar una parte, pues podemos cuadrarla moviendo el scroll hacia los lados o hacia arriba. (esto es gracias a que el iframe es tratado como un window y por lo tanto tiene estas propiedades);
desde la la propia ventana hija podemos decirle que en el onLoad(), se mueva un poco:
window.scrollBy(13,0); //Cantidades en pixeles (x,y)
si hubiesemos definido scrolling="no" al definir el iframe se mostraria siempre esta parte
Otra opcion es ver el codigo fuente de la pantalla del iframe y ocultar las cosas que no queramos que se vean mediante javascript:
document.getElementById("div_cabecera").style.display="none"; //desde el propio iframe
o desde el padre:
document.iFrameEnvio.document.getElementById("div_cabecera").style.display="none";
Para acceder desde la hija a los elementos html del padre:
if(window.parent.document.getElementById("llamadaDesdeGrei") != null)
//pregunta si la ventana padre tiene un elemento "llamadadesdeGrei". Esto puede ser un flag paraque la pantalla hija sepa siempre cual es su padre.
Quitar el scrollhorizontal de un iframe: en esta url viene como hacerlo
http://www.marlexsystems.org/%C2%BFcomo-quitar-el-scrollbar-horizontal-en-un-iframe-o-frame/
martes, 22 de enero de 2008
Primera publicacion
Bueno, pues aqui estamos probando publicar por primera vez una tonteria, a ver si se ve o no se ve...
Suscribirse a:
Entradas (Atom)
