检测移动设备的最佳方法是什么?有没有一种可靠的方法来检测用户是否在jQuery中使用移动设备?类似于CSS @media属性的东西?如果浏览器在手持设备上,我想运行不同的脚本。jQuery $.browser函数不是我想要的。
4 回答
精慕HU
TA贡献1845条经验 获得超8个赞
总之,我们建议在用户代理中的任何位置查找字符串“Mobi”以检测移动设备。
像这样:
if (/Mobi/.test(navigator.userAgent)) { // mobile!}
这将匹配所有常见的移动浏览器用户代理,包括移动Mozilla,Safari,IE,Opera,Chrome等。
Android更新
EricL建议Android
也作为用户代理进行测试,因为平板电脑的Chrome用户代理字符串不包含“Mobi”(但是手机版本会这样做):
if (/Mobi|Android/i.test(navigator.userAgent)) { // mobile!}
慕森卡
TA贡献1806条经验 获得超8个赞
一个简单有效的单线程:
function isMobile() { return ('ontouchstart' in document.documentElement); }
但是上面的代码没有考虑带触摸屏的笔记本电脑的情况。因此,我提供了基于@Julian解决方案的第二个版本:
function isMobile() { try{ document.createEvent("TouchEvent"); return true; } catch(e){ return false; }}
添加回答
举报
0/150
提交
取消