Foros del Web » Programando para Internet » Javascript »

Modificar una propiedad externa en Netscape

Estas en el tema de Modificar una propiedad externa en Netscape en el foro de Javascript en Foros del Web. Buenas a todos, os explico el problema que me trae toda la tarde de cabeza: tengo una página principal que contiene un iframe cuyo id ...
  #1 (permalink)  
Antiguo 22/10/2003, 11:45
Avatar de eDuDiTo  
Fecha de Ingreso: junio-2002
Ubicación: Murcia
Mensajes: 173
Antigüedad: 21 años, 10 meses
Puntos: 0
Modificar una propiedad externa en Netscape

Buenas a todos, os explico el problema que me trae toda la tarde de cabeza:

tengo una página principal que contiene un iframe cuyo id es "marco". Cada una de las páginas que se cargan dentro del iframe llaman a la función siguiente:

Código PHP:
function calcularAltura(objeto){
    
altura = eval("document.getElementById('" objeto "')").offsetHeight
    parent
.document.getElementById("marco").style.height altura +25;

Lo que hace la función es redimensionar el iframe para que se ajuste al tamaño de la página que contiene, y en Internet Explorer funciona perfectamente, pero con Netscape 7 (no se en las otras versiones) la segunda linea parent.document.getElementById("marco").style.heig ht = altura +25; no funciona y ya he probado mil formas de intentar cambiar la propiedad sin conseguirlo...

A ver si alguien puede echarme una mano, os lo agradecería mucho.

Saludos
  #2 (permalink)  
Antiguo 22/10/2003, 11:53
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Y así?

parent.document.getElementById("marco").style.heig ht = (altura +25)+"px";
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 22/10/2003, 12:03
Avatar de eDuDiTo  
Fecha de Ingreso: junio-2002
Ubicación: Murcia
Mensajes: 173
Antigüedad: 21 años, 10 meses
Puntos: 0
así... tampoco... pero gracias

el problema es que no reconoce el objeto "marco", del mismo modo que si meto la segunda línea en una función contenida en la página principal y llamo a esta función desde calcularAltura() sólo me funciona desde Explorer, y Netscape no hace ni caso y falla en esa línea porque todo lo que meta detrás no lo ejecuta. Es decir si modifico la función así

Código PHP:
function calcularAltura(objeto){
    
altura = eval("document.getElementById('" objeto "')").offsetHeight;
    
parent.document.ajustarIframe(altura);

y creo esta otra en la página principal:

Código PHP:
function ajustarIframe(alto) {
document.getElementById("marco").style.height alto +25;

tampoco funciona en netscape, por lo tanto deduzco que el problema se reduce a indicar correctamente cual es la página principal.

A ver si me podeis echar un cable.. gracias
  #4 (permalink)  
Antiguo 22/10/2003, 12:29
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola eDuDiTo y KarlanKas :

Para modificar elementos entre frames (o iframes o popups) te recomiendo que uses funciones.

En este caso puedes llamar a una función del "parent" pasándole valores desde el hijo.

Fíjate en esta página que preparé hace bastante tiempo: http://www.pepemolina.com/pruebas/prueba17.html

La verdad es que ahora no tengo ni mozilla ni netscape porque se me fué el sistema hace algunos días, y no quiero reinstalar nada con prisas, pero siempre me he preocupado de que mis páginas, al menos funcionen en esos dos navegadores.

Otra cosa que puedes probar es usar clientWidth/clientHeight en vez de offsetWidth/offsetHeight...

Saludos
  #5 (permalink)  
Antiguo 22/10/2003, 15:32
Avatar de eDuDiTo  
Fecha de Ingreso: junio-2002
Ubicación: Murcia
Mensajes: 173
Antigüedad: 21 años, 10 meses
Puntos: 0
Buenas Caricatos, el código de la página de ejemplo que me citas es casi idéntico al mío, así que seguía teniendo el mismo problema... pero ya lo he solucionado :-p estoy que me tiro de los pelos!! no funcionaba simplemente porque no habia definido el id para el marco, lo que me desconcierta es que funcionara con el explorer... a saber.... (como odio los errores estos tan tontos que te hacen perder una tarde entera).

Muchas gracias por el interés, saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:31.