$ (window) .height () не работает в полноэкранном веб-приложении iPad - PullRequest
1 голос
/ 15 декабря 2010

Я работаю над веб-приложением, которое красиво отображается в мобильном Safari для iPad.

В конечном итоге он хорошо работает, когда ярлык сохраняется на трамплине, собрав правильные метатеги для отображения значка трамплина, заставки и т. Д.

К сожалению, приложение использует $(window).width() и $(window).height() и часто (не всегда, и нет, я не могу сказать, когда, я схожу с ума по этому поводу), вызов $(window).height() возвращает 0.

Мне нужно знать размер для динамической установки ширины и высоты изображений в зависимости от размера и ориентации области просмотра. Приложение также использует jQuery-ui и jQGrid и, когда высота оценивается как 0, они оба ломаются.

Диалоги jq-ui отображаются в верхней части экрана, а не в середине, и таблицы также отображаются некорректно.

Ответы [ 4 ]

5 голосов
/ 14 февраля 2012

Возможный обходной путь:

height = window.innerHeight ? window.innerHeight : $(window).height()

Найдено здесь: http://bugs.jquery.com/ticket/6724

1 голос
/ 15 декабря 2010

Бывает, что это не проблема iPad!После поиска и поиска безрезультатно, я решил исследовать http запросы и ответы, отправленные с iPad и выполненные asp.net: оказалось, что asp.net ответил с типом контента, установленным в «application / xhtml + xml»вместо «text / html» причина была в ошибке в файле «mobile.browser», взятом из http://mdbf.codeplex.com, который устанавливает для приложения iPad / xhtml + xml значение предпочитаемого MimeType!После сброса на правильный тип все работает хорошо.Я отвечаю здесь на всякий случай, если кто-то может столкнуться с той же проблемой.Кстати, MDBF больше не поддерживается.танки все

0 голосов
/ 30 июля 2012

Попробуйте проверить ширину и высоту после небольшой задержки - например: setTmeout (300).

0 голосов
/ 15 декабря 2010

Это из-за области просмотра. На обычном экране это базовая координатная плоскость X на Y. На сенсорном экране представьте в окне просмотра маленький кусочек бумаги, который вы перемещаете поверх большого кусочка бумаги (веб-сайт). Вот реклама из сообщения, которое может помочь:

Mobile Safari использует видовой экран для отображения веб-сайтов. Представьте себе книгу перед вами. Возьмите лист бумаги, нарежьте квадрат размером 320 × 416 и положите на книгу. Чтобы прочитать книгу, переместите бумагу вокруг и поместите отверстие над словами, которые вы хотите видеть. Это именно то, что делает окно просмотра Mobile Safari. Когда вы щелкаете и прокручиваете, вы перемещаете область просмотра, пока веб-сайт за ней остается статичным.

Из-за этой проблемы у вас могут возникнуть проблемы с получением нужных вам значений. Ниже ссылка на этот пост. Надеемся, что это позволит пролить некоторый свет на позиционирование в отношении приложений с сенсорным экраном

http://doctyper.com/archives/200808/fixed-positioning-on-mobile-safari/

Кроме того, Ли прав, что вам нужно убедиться, что ваш документ готов.

...