$(window).bind("orientationchange", function(){
var orientation = window.orientation;
var new_orientation = (orientation) ? 0 : 180 + orientation;
$('body').css({
"-webkit-transform": "rotate(" + new_orientation + "deg)"
});
});
Это рискованный способ, но он думает, что это единственный путь.
Альтернатива, которую вы можете привязать к событию изменения размера окна.
$(window).bind("resize", function(){
var orientation = window.orientation;
var new_orientation = (orientation) ? 0 : 180 + orientation;
$('body').css({
"-webkit-transform": "rotate(" + new_orientation + "deg)"
});
});
Некоторое время назад я написал этот небольшой скрипт: он исправляет ошибку обратного вызова многократного изменения размера в iOS-сафари и ошибку неориентирования / позднего / раннего запуска (1) в Android.
(1) Иногда это не срабатывает иногда до, а иногда после того, как браузер меняет ширину + высоту?Проводной!
if (!(/iphone|ipad/gi).test(navigator.appVersion)) {
$(window).unbind("resize").bind("resize", function() {
$(window).trigger("orientationchange");
});
}
Если вы не iphone или ipad, вы запускаете событие directionalchange в окне.
Поэтому, когда вы свяжете какую-либо функцию, вы изменяете ее размер, и вы меняете ориентацию.
См .: http://jsfiddle.net/aalouv/sABRQ/1/