多么小的谷歌搜索出现了,来自一个美丽的网站:
var isMobile = {
Android: function() {
return navigator.userAgent.match(/Android/i);
},
BlackBerry: function() {
return navigator.userAgent.match(/BlackBerry/i);
},
iOS: function() {
return navigator.userAgent.match(/iPhone|iPad|iPod/i);
},
Opera: function() {
return navigator.userAgent.match(/Opera Mini/i);
},
Windows: function() {
return navigator.userAgent.match(/IEMobile/i);
},
any: function() {
return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
}
};
if(isMobile.any()){
// Mobile!
} else {
// Not mobile
}
我不会争辩说特征检测比用户代理嗅探更可取,这实际上很糟糕。但是,如果您正在检测功能以确定设备是否被视为移动设备,那么您将面临一系列全新的问题。
您无法检查pixel-ratio
,因为新的台式计算机很可能是“视网膜”或超高清。您无法检查device-orientation
,因为它不再是手机独有的东西。您无法检查(如果可以)陀螺仪,因为某些笔记本电脑可能会返回值。
构建适用于所有平台的网站,而无需尝试将它们分开!