手机端H5页面判断是否横屏

之前,做了一个H5项目,需要在横竖屏变化时,做一些处理,一般先要判断手机是否横屏,在不同状态下添加不同效果

方法一:JS判断

//判断手机横竖屏状态:
window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", function() {
        if (window.orientation === 180 || window.orientation === 0) { 
            alert('竖屏状态!');
        } 
        if (window.orientation === 90 || window.orientation === -90 ){             
            alert('横屏状态!');        
        }  
}, false); 

移动端的浏览器一般都支持window.orientation这个参数,通过这个参数可以判断出手机是处在横屏还是竖屏状态

屏幕方向对应的window.orientation值:

ipad,iphone: 90 或 -90 横屏

ipad,iphone: 0 或180 竖屏

Andriod:0 或180 横屏

Andriod: 90 或 -90 竖屏

方法二:CSS判断

@media screen and (orientation: portrait) {
/*竖屏 css*/
} 
@media screen and (orientation: landscape) {
/*横屏 css*/
}

引用:

<!-- 竖屏 -->
<link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css">
<!-- 横屏 -->
<link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css">

在判断是否横屏后,如互动游戏类页面,为了更好的体验则需要强制手机横屏,之后会介绍H5页面强制全屏横屏

猜你喜欢

转载自blog.csdn.net/qq_33298964/article/details/128780250