Me he encontrado con un problema extraño con lo que parecen ser varias versiones de los navegadores Webkit. Estoy tratando de colocar un elemento en el centro de la pantalla y para hacer los cálculos, necesito obtener varias dimensiones, específicamente la altura del cuerpo y la altura de la pantalla. En jQuery He estado usando:
var bodyHeight = $('body').height();
var screenHeight = $(window).height();
Mi página es típicamente mucho más alto que la ventana gráfica actual, por lo que cuando 'alerta' esas variables, bodyheight que debe llegar a ser grande, mientras que ScreenHeight debe permanecer constante (altura de la ventana del navegador).
Esto es cierto en - Firefox - Chrome 15 (Whoa Cuando hizo Chrome llegar a la versión 15!?) - Safari en IOS5
Esto no está funcionando en: - Safari en iOS4 - Safari 5.0.4
en los dos últimos, $(window).height();
siempre devuelve el mismo valor que $('body').height()
Pensando que era tal vez un tema de jQuery, cambié la altura de la ventana para window.outerHeight
pero eso, también, hace lo mismo, haciéndome pensar que esto es en realidad algún tipo de problema de webkit.
¿Alguien se ha encontrado con esto y sabe cómo evitar este problema?
Para complicar las cosas, parece que no puedo replicar esto de forma aislada. Por ejemplo: http://jsbin.com/omogap/3 funciona bien.
He determinado que no es un problema de CSS, así que tal vez haya otros JS causando estragos en este navegador en particular que necesito encontrar.
¿Has probado '$ (document) .height()'? –
@gaby que produce un valor ligeramente superior a '$ ('cuerpo'). Alto()' –
hmm .. deben ser los rellenos ... mira http://james.padolsey.com/javascript/get-document -height-cross-browser/también ... (* por las dudas *) –