ОБНОВЛЕНИЕ:
Возможно, вы захотите проверить
jQuery mobile directionchangechange
или обычный JS:
window.addEventListener("orientationchange", function() {
alert(window.orientation);
}, false);
MDN:
window.addEventListener("orientationchange", function() {
alert("the orientation of the device is now " + screen.orientation.angle);
});
Предыдущий ответ
http://www.nczonline.net/blog/2010/04/06/ipad-web-development-tips/
Safari на iPad поддерживает свойство window.orientation, поэтому при необходимости вы можете использовать его, чтобы определить, находится ли пользователь в горизонтальном или вертикальном режиме.В качестве напоминания об этой функциональности:
window.orientation is 0 when being held vertically
window.orientation is 90 when rotated 90 degrees to the left (horizontal)
window.orientation is -90 when rotated 90 degrees to the right (horizontal)
Существует также событие directionalchange, которое запускается в объекте окна при повороте устройства.
Вы также можете использовать медиазапросы CSS, чтобы определить,iPad удерживается в вертикальном или горизонтальном положении, например:
<link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css">
<link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css">
http://www.htmlgoodies.com/beyond/webmaster/toolbox/article.php/3889591/Detect-and-Set-the-iPhone--iPads-Viewport-Orientation-Using-JavaScript-CSS-and-Meta-Tags.htm
<script type="text/javascript">
var updateLayout = function() {
if (window.innerWidth != currentWidth) {
currentWidth = window.innerWidth;
var orient = (currentWidth == 320) ? "profile" : "landscape";
document.body.setAttribute("orient", orient);
window.scrollTo(0, 1);
}
};
iPhone.DomLoad(updateLayout);
setInterval(updateLayout, 400);
</script>