浏览器中最简单的方法来检测手机

Bla*_*zer 3 javascript mobile jquery-mobile

我使用脚本生成器 - http://detectmobilebrowsers.com/ - 检测手机,以便将页面重定向到具有手机特殊模板的子域.

我只对手机感兴趣.Ipad,Android平板电脑不会被重定向.我需要知道的是,这个脚本是否涵盖了IPhone 4和IPhone 5,因为我没有这些模型来测试它.无论如何,我已经使用开发人员菜单 - 用户代理 - Safari ios 4.3.3 Iphone在Safari上进行了测试,并根据需要重定向页面.这对我想要的还是足够的,或者我也应该使用以下脚本:

var iphone4 = (window.screen.height == (960 / 2)) ? true : false;
var iphone5 = (window.screen.height == (1136 / 2)) ? true : false;
if (iphone4 && iphone5) {
    parent.location.href='http://www.mobile.mysite.com';
}
Run Code Online (Sandbox Code Playgroud)

Mik*_*keM 5

是的,来自http://detectmobilebrowsers.com/的正则表达式将检测iPhone(和iPod Touch)所有版本...... ip(hone|od)是匹配它的正则表达式部分.

如果您想要一个仅适用于iPhone/iPod的脚本,您可以将上述脚本修改为:

(function (a, b) { if (/ip(hone|od)/i.test(a)) window.location = b }
)(navigator.userAgent || navigator.vendor || window.opera, 'http://www.mobile.mysite.com');
Run Code Online (Sandbox Code Playgroud)

编辑:

或者使用此脚本来检测移动设备

(function (a, b) { if (/Mobi/.test(a)) window.location = b }
)(navigator.userAgent || navigator.vendor || window.opera, 'http://www.mobile.mysite.com');
Run Code Online (Sandbox Code Playgroud)

基于使用用户代理进行浏览器检测的建议 MDN:

我们建议在用户代理中的任何位置查找字符串"Mobi"以检测移动设备.如果设备足够大以至于没有标记为"Mobi",那么您应该为桌面站点提供服务(最佳做法是,无论如何都应支持触摸输入,因为更多台式机出现在触摸屏上).