HTML5: Detecting if you're on mobile or pc with javascript?
本问题已经有最佳答案,请猛点这里访问。
我可以使用什么javascript代码来检测用户是否在HTML5中的移动或PC/Mac浏览器上?
几年前我一直在研究这个问题。简而言之,你不能用100%的可靠性来做这件事。似乎有两种常用的方法来提供"最佳猜测":
1。用户代理检测这是你检查客户声称是什么的地方。例如
1 2 3 | if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) { // is mobile.. } |
它并不完美,因为我相信这个属性很容易被意外或其他方式更改。此外,在2年/2周/2天的时间内,此列表仍然不太可能准确!
2。使用客户端功能正如您所能想象的那样,一种更加务实的方法——允许您满足客户已知的物理能力。例如
1 2 3 | if( screen.width <= 480 ) { // is mobile.. } |
号
然而,这也不理想,因为现代设备中越来越高的像素密度会给你一个误导性的结果:看起来你比实际拥有更多的"空间"。另外,不同的浏览器可能会通过不同的方式公开它们的功能。
如果有人有更好的想法来坚定地辨别桌面和设备,请评论!:)