jQuery/JS, iOS 4 und $(document).Höhe() Probleme

Ich habe in ein seltsames Problem mit dem, was scheint zu sein, verschiedene Versionen von Webkit-Browsern. Ich versuche, die position eines Elements auf die Mitte des Bildschirms, und führen Sie die Berechnungen, die ich brauche, um verschiedene Abmessungen, insbesondere die Höhe des Körpers und der Höhe des Bildschirms. In jQuery habe ich mit:

var bodyHeight = $('body').height();
var screenHeight = $(window).height();

Meine Seite ist in der Regel viel größer als die tatsächliche viewport, also, wenn ich 'alert', die Variablen, bodyHeight sollte am Ende als groß, während "screenHeight" konstant bleiben soll (Höhe des browser-viewport).

Dies ist wahr in
- Firefox
- Chrom-15 (whoa! Wann hat Chrome bekommen auf die version 15?)
- Safari auf iOS5

Dies ist NICHT arbeiten in:
- Safari auf iOS4
- Safari 5.0.4

Auf die beiden letzteren $(window).height(); gibt immer den gleichen Wert wie $('body').height()

Denken es war vielleicht ein jQuery-Problem, tauschte ich aus dem Fenster Höhe für window.outerHeight aber auch nicht die gleiche Sache, so dass ich denke, dies ist tatsächlich eine Art von webkit-problem.

Hat jemand lief in dieser und wissen, einen Weg, um dieses Problem?

Dinge zu komplizieren, ich kann nicht scheinen zu replizieren diese in der isolation. Zum Beispiel: http://jsbin.com/omogap/3 funktioniert einwandfrei.

Habe ich festgestellt, es ist kein CSS-Problem, also vielleicht gibt es andere JS Unwesen auf diesem bestimmten browser brauche ich, um zu finden.

haben Sie versucht $(document).height() ?
das erzeugt einen Wert etwas höher als $('body').height()
hmm.. muss den Polstern ... look at james.padolsey.com/javascript/get-document-height-cross-browser... (Fall)
aber ich brauche nicht die Dokument-Höhe. Ich brauche die Höhe des Viewports.
Dieser link etwas hilfreich, aber. Es ist mit document.documentElement.clientHeight - und das scheint genau zu schnappen, den viewport. Untersucht einige mehr...

InformationsquelleAutor DA. | 2011-11-20

Schreibe einen Kommentar