分析浏览器的 user agent 字符串,它包含了设备信息,JS 通过navigator.userAgent属性拿到这个字符串,只要里面包含mobi、android、iphone等关键字,就可以认定是移动设备。
2、window.screen和window.innerWidth
另一种方法是通过屏幕宽度,判断是否为手机,window.screen对象返回用户设备的屏幕信息,该对象的width属性是屏幕宽度(单位为像素),如果屏幕宽度window.screen.width小于500像素,就认为是手机。
第三种方法是侦测屏幕方向,手机屏幕可以随时改变方向(横屏或竖屏),桌面设备做不到,window.orientation属性用于获取屏幕的当前方向,只有移动设备才有这个属性,桌面设备会返回undefined。
4、touch事件
第四种方法是,手机浏览器的 DOM 元素可以通过ontouchstart属性,为touch事件指定监听函数,桌面设备没有这个属性,function isMobile() { return ('ontouchstart' in document.documentElement); } // 另一种写法function isMobile() {try { document.createEvent("TouchEvent"); return true; } catch(e) { return false; }}
5、window.matchMedia()
最后一种方法是结合 CSS 来判断,CSS 通过 media query(媒介查询)为网页指定响应式样式,如果某个针对手机的 media query 语句生效了,就可以认为当前设备是移动设备,window.matchMedia()方法接受一个 CSS 的 media query 语句作为参数,判断这个语句是否生效。
到此,以上就是小编对于“服务器判断移动端”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/660810.html