关于javascript:如何检测用户访问我网站的Android或iPhone?

How to detect if its Android or iPhone from which a user is visiting my website?

本问题已经有最佳答案,请猛点这里访问。

我正在构建一个在后端和前端使用python作为html、js、ajax等的webservice。我的webservice有一个特殊的需求,即对于那些使用Android设备、iPhone或其他设备(PC、Mac等)访问的用户,它有两种不同的响应。

我想根据用户的设备类型注册用户(在我的网站上),并为每个设备分配一个特定的uid。

那么,是否可以检测正在访问我的网站的设备类型,并让他们根据设备类型访问服务?

有没有可能使用javascript或jquery?

请建议。


这是检测Android的javascript方法

1
2
3
4
5
6
7
var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile");
if(isAndroid) {
    // Do something!
    // Redirect to Android-site?
    window.location = 'http://android.davidwalsh.name';
}

这是检测iPhone的javascript方法

1
2
3
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
     if (document.cookie.indexOf("iphone_redirect=false") == -1) window.location ="http://m.espn.go.com/wireless/?iphone&i=COMR";
}

这两种方法都来自http://davidwalsh.name/