HTML5:使用javascript检测您是使用手机还是PC?

时间:2014-08-28 07:12:22

标签: javascript html5 responsive-design media-queries

我可以使用哪些javascript代码来检测用户是否在HTML5中的移动或PC / mac浏览器上?

1 个答案:

答案 0 :(得分:29)

几年前我一直在研究这个问题。简而言之,您不能以100%的可靠性来做到这一点。似乎有两种常用的方法可以提供“最佳猜测”:

<强> 1。用户代理检测 您可以在此处查看客户声明的内容。 例如

if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
    // is mobile..
}

这并不完美,因为我认为这个属性很容易被意外或其他方式改变。此外,该列表在2年/ 2周/ 2天内仍然不太准确!

<强> 2。使用客户端功能 您可以想象,更实用的方法 - 允许您迎合客户已知的物理能力。 e.g。

if( screen.width <= 480 ) {     
    // is mobile.. 
}

然而,这也不理想,因为现代设备中越来越高的像素密度会给你一个误导性的结果:看起来你有比实际更多的“空间”。另外,不同的浏览器可能会通过不同的方式暴露其功能。

如果有人有任何更好的想法可以在桌面和设备之间进行强有力的辨别,请发表评论! :)