(自写的)js判断pc还是mobile访问

<%
    /* *
     *功能:支付宝手机网页支付调试入口页面
     *版本:3.3
     *日期:2012-08-17
     *说明:
     *以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
     */
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
    %>
    <title>测试入口判断</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="jquery-1-7-2.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        var browser = {

                versions : function() {

                    var u = navigator.userAgent, app = navigator.appVersion;

                    return {//移动终端浏览器版本信息                                 
                        
                    trident : u.indexOf(Trident) > -1 && u.indexOf(Mobile) == -1, //IE内核  ,支持IE8以上版本                               

                //    presto : u.indexOf(‘Presto‘) > -1, //oprea的pc输出不是这个判断                            

                    webKit : u.indexOf(AppleWebKit) > -1 && u.indexOf(KHTML) > -1, //苹果、谷歌内核 、opera内核  、360内核                                   

                    gecko : u.indexOf(Gecko) > -1 && u.indexOf(KHTML) == -1, //火狐内核                                

                    mobile : !!u.match(/AppleWebKit.*Mobile.*/)   //是否为移动终端

                            || (!!u.match(/AppleWebKit/) && u.indexOf(KHTML) == -1)
                            || (u.indexOf(Trident) > -1 && u.indexOf(Mobile) > -1)   //诺基亚
                            || (u.indexOf(Opera) > -1 && u.indexOf(KHTML) == -1)   //opera
                            || (!!u.match(/AppleWebKit/) && u.indexOf(Android) > -1),  //针对一些国内平板自带浏览器  参数中没有MObile(苹果自带的有)                   

                    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应该程序,没有头部与底部

                    google:u.indexOf(Chrome)>-1

                };

            }(),

            language : (navigator.browserLanguage || navigator.language).toLowerCase()

            }
            
            /*
            document.writeln("userAgent: "+navigator.userAgent);
        
            document.writeln("语言版本: "+browser.language);

            document.writeln(" 是否为移动终端: "+browser.versions.mobile);
            */
        
        if(browser.versions.mobile){
            //移动端
            window.location.href="<%=basePath%>phonePay/index.jsp" ;
        }else{
            //pc端
            window.location.href="<%=basePath%>pcPay/index.jsp" ;
        }
        
    });
</script>
</head>
<body>
</body>
</html>

通过其他属性需要继续优化,只是部分设备测试

(自写的)js判断pc还是mobile访问,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。