【发布时间】:2015-06-07 03:20:03
【问题描述】:
我得到了一些用于检测用户是在使用移动设备还是桌面的代码。
var user_agent = navigator.userAgent;
var mobile = /Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/i;
if (!mobile.test(user_agent)) {
$(".master-content").css({"width":"1280px","margin":"0 auto","overflow-y":"visible"});
$(".off-canvas-wrap").css({"overflow":"visible"});
}
谁能告诉我一种更可靠的方法来做到这一点,或者至少为什么这是一种不好的设备检测方法?
谢谢
【问题讨论】:
-
最好的方法是使用feature detection而不是环境检测。不管他们使用什么浏览器,只要它支持您使用的任何功能。
-
你为什么不只检测屏幕尺寸,然后根据它来决定是移动设备、平板电脑还是电脑......
-
那段代码有问题吗,什么时候不起作用?通常,您会进行功能检测,而不是浏览器或设备检测,但在某些情况下,例如重定向到网站的移动版本时,没关系。
标签: javascript