Проблемы с jQuery / JS, iOS 4 и $ (document) .height ()

Я столкнулся с странной проблемой, связанной с различными версиями браузеров Webkit. Я пытаюсь разместить элемент в центре экрана и для выполнения расчетов мне нужно получить различные размеры, в частности высоту тела и высоту экрана. В jQuery я использовал:

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

Моя страница обычно намного выше, чем фактическое окно просмотра, поэтому, когда я «предупреждаю» эти переменные, bodyHeight должен быть большим, а screenHeight должен оставаться постоянным (высота окна просмотра браузера) .

Это верно в - Firefox - Chrome 15 (ого! Когда Chrome вышел на версию 15?) - Safari на iOS5

Это НЕ работает in: - Safari на iOS4 - Safari 5.0.4

На последних двух, $ (window).height (); всегда возвращает то же значение, что и $ ('body'). height ()

Думая, что это, возможно, проблема jQuery, я поменял высоту окна на window.outerHeight , но и это делает то же самое, заставляя меня думать, что на самом деле это какая-то проблема с webkit.

Кто-нибудь сталкивался с этим и знает способ обойти эту проблему?

Чтобы усложнить ситуацию, я не могу воспроизвести это изолированно. Например: http://jsbin.com/omogap/3 работает нормально.

Я определил, что это не проблема CSS, так что, возможно, мне нужно найти другой JS, разрушающий этот конкретный браузер.

12
задан DA. 20 November 2011 в 23:53
поделиться