jQuery проблема с мобильной ротацией - PullRequest
4 голосов
/ 19 сентября 2011

Я экспериментирую с jquery mobile (бета 3).Все работает нормально, когда вы загружаете приложениеОднако, когда вы поворачиваете iPhone в горизонтальное положение, макет не корректируется сам по себе.

Та же проблема наблюдается на http://jquerymobile.com/demos/1.0b3/

У кого-нибудь есть решение?

1 Ответ

6 голосов
/ 19 сентября 2011

Если зум не нужен, <meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1"> наименее хакерский.

Если вы хотите сохранить масштаб, попробуйте это решение.

var viewport = $('meta[name="viewport"]');
var nua = navigator.userAgent;

if ((nua.match(/iPad/i)) || (nua.match(/iPhone/i)) || (nua.match(/iPod/i))) {
  viewport.attr('content', 'width=device-width, minimum-scale=1.0, maximum-scale=1.0');
  $('body')[0].addEventListener("gesturestart", gestureStart, false);
}

function gestureStart() {
  viewport.attr('content', 'width=device-width, minimum-scale=0.25, maximum-scale=1.6');
}

К вашему сведению: это известная проблема, см. jQM документы

Существует небольшая проблема в iOS, которая неправильно устанавливает ширину при изменении ориентации с этими настройками видового экрана, но, надеюсь, это будет исправлено в будущем выпуске. Вы можете установить другие значения области просмотра, чтобы отключить масштабирование, если это необходимо, поскольку это является частью содержимого вашей страницы, а не библиотеки.

...