JavaScript判断手机访问逻辑

移动设备访问网站的判断,有时候真挺关键的。是你想搞点移动端的定制内容,或者跳转到 m 站啥的,用 JS 来识别设备类型会省不少事。

用户代理(User-Agent)是个老朋友了,JS 里用 navigator.userAgent 就能拿到。最常见的办法是判断字符串里有没有 MobiAndroid 这些关键词:

function isMobileDevice() {
  return (/Mobi|Android/i.test(navigator.userAgent));
}

这段代码蛮通用的,大部分手机都能识别出来。,也可以搞个更保险点的方式,比如再加个 window.innerWidth 判断宽度:

function isMobileDevice() {
  return (window.innerWidth < 768>

768 像素以下基本都能算移动设备了,像手机、某些小平板什么的。你要是再想精细点,还能查 window.orientation 或者特定浏览器标识,比如 IEMobile

识别出来是手机,干嘛用?嗯,比如加载移动端 CSS、展示适配的菜单,甚至直接跳转:

if (isMobileDevice()) {
  [removed].replace("http://m.example.com");
}

重定向这种方式比较粗暴,但有时候还挺实用的。如果你还没上响应式布局,那就更有用了。反正逻辑简单,判断快,代码也干净,适合快速上线。

哦对了,User-Agent 的花样也挺多,有时候需要跟着浏览器版本更新规则。你可以多看看像 JavaScript 浏览器识别BrowserInfo 识别库,更系统。

zip 文件大小:585B