Foros del Web » Programando para Internet » Javascript »

Longitud de un docmento

Estas en el tema de Longitud de un docmento en el foro de Javascript en Foros del Web. Hola! Existe alguna forma de saber, haciendo uso de Javascript, la longitud de un documento (es decir, algo así como document.height , ´que sería una ...
  #1 (permalink)  
Antiguo 15/01/2005, 13:20
 
Fecha de Ingreso: febrero-2003
Mensajes: 19
Antigüedad: 21 años, 3 meses
Puntos: 0
Longitud de un docmento

Hola!

Existe alguna forma de saber, haciendo uso de Javascript, la longitud de un documento (es decir, algo así como document.height , ´que sería una instrucción no válida).

Me refiero a la longitud del documento (no a la de la ventana en el que se encuentra o el marco en el que se encuentra).

saludos a todos
__________________
www.maratongranada.es2000.com
  #2 (permalink)  
Antiguo 15/01/2005, 13:27
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola Lind

Prueba con:

document.body.offsetHeight

Saludos,
  #3 (permalink)  
Antiguo 15/01/2005, 13:38
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Buenas

una cosa, IE devuelve siempre el mismo valor usando tanto offsetHeight como clientHeight, independientemente de los contenidos ¿algún truco?
  #4 (permalink)  
Antiguo 15/01/2005, 13:52
 
Fecha de Ingreso: febrero-2003
Mensajes: 19
Antigüedad: 21 años, 3 meses
Puntos: 0
Hola!

Primero gracias a JavierB y tunait por la pronta respuesta que habeis dado.

JavierB, el problema que me ocurre (explicándolo un poco más) es que quiero saber la longitud del documento que tengo dentro de un IFRAME. Con la solución que me propones siempre me aparece la longitud del IFRAME, y no la del documento.

¿Se os ocurre alguna otra propuesta?
__________________
www.maratongranada.es2000.com
  #5 (permalink)  
Antiguo 15/01/2005, 13:57
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Debes anteponer el nombre del iframe

nombreIframe.document.body.offsetHeight

  #6 (permalink)  
Antiguo 15/01/2005, 13:57
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola tunait

No sabía que pasaba eso, pero después de enredar un poco creo que para IE en lugar de clientHeight, puede usarse:

document.getElementsByTagName('html')[0].offsetHeight

¿Te referías a eso?

Lind: si se me ocurre algo volveré por aquí.

Saludos,
  #7 (permalink)  
Antiguo 15/01/2005, 14:01
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
mu güenas javierB

Pues me devuelve exactamente el mismo valor
  #8 (permalink)  
Antiguo 15/01/2005, 14:10
 
Fecha de Ingreso: febrero-2003
Mensajes: 19
Antigüedad: 21 años, 3 meses
Puntos: 0
Hola!

Perdonadme, a lo mejor me estoy equivocando en algo al hacer las pruebas:

El tamaño del IFRAME lo calculo desde el propio IFRAME, así que el ponerle el nombre delante no ha servido.

Con lo que me proponeis siempre me devuelve 200, es decir, el tamaño que le puse al IFRAME desde el parent desde que lo introduzco.

¿??? ¿Me equivoco en algo?

Gracias !!
__________________
www.maratongranada.es2000.com
  #9 (permalink)  
Antiguo 15/01/2005, 14:11
 
Fecha de Ingreso: febrero-2003
Mensajes: 19
Antigüedad: 21 años, 3 meses
Puntos: 0
Ah, se me olvidó deciros que estoy utilizando Internet Explorer.
__________________
www.maratongranada.es2000.com
  #10 (permalink)  
Antiguo 15/01/2005, 14:13
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
No es que te equivoques, es que te pasa lo que le mencionaba a javierB.

Si lo pruebas desde otro navegador verás que te da en px el alto del documento; más contenidos, un valor más alto, pero explorer devuelve siempre lo mismo. Por eso preguntaba si alguien conoce algún truco
  #11 (permalink)  
Antiguo 15/01/2005, 14:21
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Guas noches tunait

No se si estamos hablando de lo mismo He hecho un código (espero que sierva de algo, porque he tardado casi 1 minuto en hacerlo )
Código HTML:
<html>
<head>
</head>
<body>
<input type="button" value="offsetHeight" 
  onclick="alert(document.body.offsetHeight)" />
<input type="button" value="clientHeight"
  onclick="alert(document.getElementsByTagName('html')[0].offsetHeight)" />
<p>Prooobando</p>
</body>
</html> 
Probandolo con IE 6.0 al pulsar el primer botón da 58, que es lo que ocupa el contenido (creo) y pulsando el segundo da 465 con la ventana maximizada, o un valor distinto dependiendo de lo alta que tengas la ventana.

Bueno, por hoy ya está bien de palique. Voy a ver si consigo algo de cena y mañana será otro día.

Saludos,
  #12 (permalink)  
Antiguo 15/01/2005, 14:26
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
'nas noshes Javier

Curioso... en Mo(r)zilla, el primer botón devuelve 58 y el segundo 435

En IE 6.0 con el primer botón me devuelve 456 y con el segundo 456 también
  #13 (permalink)  
Antiguo 15/01/2005, 17:09
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 10 meses
Puntos: 4
el alto del documento no seria asi?:

document.body.clientHeight + document.body.scrollTop

o sino:

document.body.scrollHeight
  #14 (permalink)  
Antiguo 16/01/2005, 01:50
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 a todos:

tunait: en explorer te daría un valor distinto si al body le pones algún borde...

<html>
<body
style="border: 5px solid transparent"
onload="alert(document.body.offsetWidth +
' != ' +
document.body.clientWidth)">
xxx
</body>
</html>

En el tema de las postales, las marco con un borde de 1 px, y tengo que desplazar los elementos marcados y volverlos a desplazar al desmarcarlos.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #15 (permalink)  
Antiguo 16/01/2005, 04:03
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola de nuevo.

tunait: otra curiosidad más. Prueba poniendolo un DTD al código anterior.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html>
...

Saludos,
  #16 (permalink)  
Antiguo 16/01/2005, 05:34
 
Fecha de Ingreso: febrero-2003
Mensajes: 19
Antigüedad: 21 años, 3 meses
Puntos: 0
De acuerdo

Hola!

Es increible lo que sabéis. Os agradezco mucho la ayuda. Al final creo que lo que propone Sir funciona muy bien con el Explorer, y lo de JavierB también en otros navegadores, ¿no?

Saludos a todos
__________________
www.maratongranada.es2000.com
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 11:33.