Это довольно Hacky решение, но это, по крайней мере что-то (?). Идея заключается в использовании CSS-преобразования для поворота содержимого вашей страницы в квази-портретный режим. Вот JavaScript (в JQuery) код, чтобы вы начали:
$(document).ready(function() {
function reorient(e) {
var portrait = (window.orientation % 180 == 0);
$("body > div").css("-webkit-transform", !portrait ? "rotate(-90deg)" : "");
}
window.onorientationchange = reorient;
window.setTimeout(reorient, 0);
});
код ожидает, что все содержание вашей страницы, чтобы жить внутри DIV только внутри элемента тела. Он поворачивает этот div на 90 градусов в ландшафтном режиме - назад к портрету.
Оставленный как упражнение для читателя: div вращается вокруг его центральной точки, поэтому его положение, вероятно, необходимо будет отрегулировать, если оно не будет абсолютно квадратным.
Кроме того, есть непривлекательная визуальная проблема. Когда вы меняете ориентацию, Safari вращается медленно, а верхний уровень div привязывается к 90 градусам по-разному. Для еще большего удовольствия добавьте
body > div { -webkit-transition: all 1s ease-in-out; }
к вашим CSS. Когда устройство вращается, то Safari делает, а затем содержимое вашей страницы. Начинка!
Вся причина для создания веб-приложений и не родное приложение, так это может быть кросс-платформой, почему бы вам создать iPhone конкретного веб-приложения, вы смотрите на написание дополнительного кода для блокировки других телефонов ??? – 2011-11-26 07:24:31
Может быть, это демо ... – xdhmoore
http://www.stackoverflow.com/questions/5298467/prevent-orientation-change-in-ios-safari – xdhmoore