我正在iPad (Safari 浏览器)和Samsung Tab 2 (默认浏览器)上测试我的 Web 应用程序。window.orientationchange在两个设备中返回不同的值。
$(document).ready(function() {
window.addEventListener("orientationchange", centerLoginBox);
window.addEventListener("load", centerLoginBox);
});
function centerLoginBox() {
if (window.orientation == 90 || window.orientation == -90) { //Landscape Mode
$('#loginbox').css('margin-top', '20%');
alert(window.orientation);
}
else if (window.orientation == 0 || window.orientation == 180) { //Portrait Mode
$('#loginbox').css('margin-top', '40%');
alert(window.orientation);
}
在选项卡 2 中,对于横向模式,警报会抛出“0”和“180”,对于纵向模式会抛出值“90”和“-90” (在 iPad 中只是相反的行为)。
这是iOS和Android的某种设计差异吗?这个问题的常见解决方案是什么?