使用JS来判断当前设备的系统,主要用到的就是JS的Navigator对象的userAgent属性。下面列举一些常用设备的匹配规则:
    var ua = navigator.userAgent.toLowerCase();
    var IsIpad = ua.match(/ipad/i) == “ipad”;
    var IsIphoneOs = ua.match(/iphone os/i) == “iphone os”;
    var IsAndroid = ua.match(/android/i) == “android”;
    var IsWM = ua.match(/windows mobile/i) == “windows mobile”;
    var isWeixin = ua.match(/micromessenger/i) == “micromessenger”;
    alert(‘isWeixin:’+isWeixin+’,IsIpad:’+IsIpad+’,IsIphoneOs:’+IsIphoneOs+’,IsAndroid:’+IsAndroid);
这里主要是有一个微信的判断,这个在做通过一个地址判断设备来进相应APP下载商店的功能需求时会用到,因为微信屏蔽了安卓的一些下载商店的地址,所以可能需要先判断微信打开来跳微信自己的下载商店,然后再判断设备跳转。
下面再给一个判断PC和移动设备的例子:
    if(/AppleWebKit.*mobile/i.test(navigator.userAgent) || /MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent)){
        if( window.location.href.indexOf(“?mobile”) < 0 ){
            try{
                if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){
                    window.location.href=”手机页面”;
                }else if(/iPad/i.test(navigator.userAgent)){
                    window.location.href=”平板页面”;
                }else{
                    window.location.href=”其他移动端页面”
                }
            }catch(e){}
        }
    }
参考:caibaojian.com/js-mobile-url.html