js判断手机端(Android手机还是iPhone手机)

现在使用手机上网的人越来越多,一些下载网站会通过判断不同系统手机来访问不同网页,比如iPhone和Android。下面我们就来介绍一下如何用javascript判断iPhone或Android手机访问

网上常用的代码
    
/**
 * [isMobile 判断平台]
 * @param test: 0:iPhone    1:Android
 */
function ismobile(test){
    var u = navigator.userAgent, app = navigator.appVersion;
    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(/iPhone|mac|iPod|iPad/i.test(navigator.userAgent)){
                    return ‘0‘;
                }else{
                    return ‘1‘;
                }
            }catch(e){}
        }
    }else if( u.indexOf(‘iPad‘) > -1){
        return ‘0‘;
    }else{
        return ‘1‘;
    }
};

使用方法:

var pla=ismobile(1);

如果pla返回的是0:iPhone 1:Android

代码一、
<script type="text/javascript">
var browser = {
    versions: function () {
        var u = navigator.userAgent, app = navigator.appVersion;
        return {//移动终端浏览器版本信息
            trident: u.indexOf(‘Trident‘) > -1, //IE内核
            presto: u.indexOf(‘Presto‘) > -1, //opera内核
            webKit: u.indexOf(‘AppleWebKit‘) > -1, //苹果、谷歌内核
            gecko: u.indexOf(‘Gecko‘) > -1 && u.indexOf(‘KHTML‘) == -1, //火狐内核
            mobile: !!u.match(/AppleWebKit.*Mobile/i) || !!u.match(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/), //是否为移动终端
            ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
            android: u.indexOf(‘Android‘) > -1 || u.indexOf(‘Linux‘) > -1, //android终端或者uc浏览器
            iPhone: u.indexOf(‘iPhone‘) > -1 || u.indexOf(‘Mac‘) > -1, //是否为iPhone或者QQHD浏览器
            iPad: u.indexOf(‘iPad‘) > -1, //是否iPad
            webApp: u.indexOf(‘Safari‘) == -1 //是否web应该程序,没有头部与底部
        };
    } (),
    language: (navigator.browserLanguage || navigator.language).toLowerCase()
}
if (browser.versions.iPhone || browser.versions.iPad || browser.versions.ios) {
    window.location.href = "http://www.jb51.net";
}
if (browser.versions.android) {
    window.location.href = "http://www.qq.com";
}
</script>

如何判断是否是 iPad 浏览器呢,关键是看它的 User Agent 中是否有 iPad。iPad 使用的是 Safari Mobile 浏览器,他的的 User Agent 是:

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10

Javascript代码
function is_iPad(){
    var ua = navigator.userAgent.toLowerCase();
    if(ua.match(/iPad/i)=="ipad") {
        return true;
    } else {
        return false;
    }
}
因此,判断ipad,iphone,android的代码为:
<script type="text/javascript">
var bForcepc = fGetQuery("dv") == "pc";
function fBrowserRedirect(){
    var sUserAgent = navigator.userAgent.toLowerCase();
    var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
    var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
    var bIsMidp = sUserAgent.match(/midp/i) == "midp";
    var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
    var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
    var bIsAndroid = sUserAgent.match(/android/i) == "android";
    var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
    var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
    if(bIsIpad){
        var sUrl = location.href;
        if(!bForcepc){
            window.location.href = "http://m.jb51.net/?ipad";
        }
    }
    if(bIsIphoneOs || bIsAndroid){
        var sUrl = location.href;
        if(!bForcepc){
            window.location.href = "http://m.jb51.net/?iphone";
        }
    }
    if(bIsMidp||bIsUc7||bIsUc||bIsCE||bIsWM){
        var sUrl = location.href;
        if(!bForcepc){
            window.location.href = "http://m.jb51.net/";
        }
    }
}
function fGetQuery(name){//获取参数值
    var sUrl = window.location.search.substr(1);
    var r = sUrl.match(new RegExp("(^|&)" + name + "=([^&]*)(&|$)"));
    return (r == null ? null : unescape(r[2]));
}
function fShowVerBlock(){
    if(bForcepc){
        document.getElementById("dv_block").style.display = "block";
    }
    else{
        document.getElementById("ad_block").style.display = "block";
    }
}
fBrowserRedirect();
</script>

时间: 2024-08-07 08:35:58

js判断手机端(Android手机还是iPhone手机)的相关文章

js判断手机端Android手机还是iPhone手机

<script type="text/javascript"> function fBrowserRedirect(){ var sUserAgent = navigator.userAgent.toLowerCase(); alert(sUserAgent); //获取浏览器和手机的信息 //匹配信息里的关键字 var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; var bIsIphoneOs = sU

js判断手机端访问跳转到手机端

<SCRIPT LANGUAGE="JavaScript"> function mobile_device_detect(url) { var thisOS=navigator.platform; var os=new Array("iPhone","iPod","iPad","android","Nokia","SymbianOS","Symb

使用js判断手机端和pc端浏览器内核

<span style="font-size:24px;color:#ff0000;">手机端:</span> <span style="font-size:14px;color:#339999;">//判断浏览器 var browser = { versions : function() { var u = navigator.userAgent, app = navigator.appVersion; return { tri

JS判断手机端还是pc端

如何判断页面是在移动端还是PC端打开的呢 window.location.href = /Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent) ? "https://www.baidu.com/" : "http://news.baidu.com/";

js判断手机端操作系统(Andorid/IOS),并自动为链接添加相应下载地址

<script type="text/javascript"> $(document).ready(function(e) { var u = navigator.userAgent, app = navigator.appVersion; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //android终端或者uc浏览器 var isiOS = !!u.match(/

JS判断手机端和PC端自动跳转

<script type="text/javascript"> function browserRedirect() { var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone

JS判断请求来自Android手机还是iPhone手机

<script type="text/javascript"> var browser = { versions: function () { var u = navigator.userAgent, app = navigator.appVersion; return { //移动终端浏览器版本信息 ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 android: u.indexOf('Android')

TP3.2.x判断手机端访问,同一个域名在PC和手机端展示不同模板(半独立式网站)

首先介绍APP_STATUS内置常量,TP入口文件增加APP_STATUS 参数,  自动加载不同的项目配置文件,通过配置文件指向不同的模块 手机端访问时调用Wap手机模块,实现在手机端访问时展示出手机网站,无需跳转域名首先我们在./Application/Common/Conf/ 目录下建立两个公共配置文件:config.php 和Mobie.php config.php文件中 <?phpreturn array( 'DEFAULT_MODULE'=>'Index', 'DEFAULT_CO

php 判断手机端与微信

1.判断手机端 function isMobile() {   // 如果有HTTP_X_WAP_PROFILE则一定是移动设备   if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) {     return true;   }   // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息   if (isset($_SERVER['HTTP_VIA'])) {     // 找不到为flase,否则为true     return strist