Я столкнулся с странной проблемой, связанной с различными версиями браузеров 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, разрушающий этот конкретный браузер.