8
可以使用什么javascript代码来检测用户是否在HTML5的移动设备或PC/Mac浏览器中?HTML5:检测您是否在手机或电脑上使用JavaScript?
可以使用什么javascript代码来检测用户是否在HTML5的移动设备或PC/Mac浏览器中?HTML5:检测您是否在手机或电脑上使用JavaScript?
我几年前正在研究这个问题。总之,你不能以100%的可靠性来做到这一点。似乎有通常用于提供“最好的猜测”方法2:
1.用户代理检测 这是你检查客户端是什么自称是。 例如
if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
// is mobile..
}
这并不完美,因为我认为这个属性被偶然或以其他方式修改相当容易。另外,这个清单在2年/ 2周/ 2天内仍然是准确的!
2.使用屏幕宽度 正如你可以想像,更务实的态度 - 让您以满足客户的已知的物理性能。例如
if(screen.width <= 480) {
// is mobile..
}
然而,这是不理想的,因为相关的现代设备越来越高的像素密度给你一个误导性的结果:出现,你有更多的“房间”比你实际做。
如果有人有任何更好的想法来强大地辨别桌面和设备之间,请评论! :)
只是为了澄清:“更高的像素密度”意味着DPI更高,因此像素更小并且紧凑在一起,这可能会导致移动设备上的主要可用性问题,即使设备具有“笔记本电脑分辨率“,比如1024像素宽。正确? – Gimby 2014-08-28 07:52:37
确切地说:例如平板电脑等设备可能会报告它是“1024像素宽”,并欺骗像我这样的“传统”网络开发人员,认为这意味着它具有典型办公室显示器的宽度,这也可能报告为1024px宽。 – ne1410s 2014-08-28 18:30:00