您的位置:首页 > 理论基础 > 计算机网络

判断是手机还是PC

2011-09-14 14:12 274 查看
<script type="text/javascript">

    var req; //定义变量,用来创建xmlhttprequest对象 

    function creatReq() // 创建xmlhttprequest,ajax开始 

    {

       // var txt = document.getElementById("txtMes").value;

        var url = "123/test1.aspx"; //要请求的服务端地址 

        if (window.XMLHttpRequest) //非IE浏览器,用xmlhttprequest对象创建 

        {

            req = new XMLHttpRequest();

        }

        else if (window.ActiveXObject) //IE浏览器用activexobject对象创建 

        {

            req = new ActiveXObject("Microsoft.XMLHttp");

            // req = new ActiveXObject("Msxml2.XMLHTTP"); //IE7下需要这么写 

        }

        if (req) //成功创建xmlhttprequest 

        {

            req.open("GET", url, true); //与服务端建立连接(请求方式post或get,地址,true表示异步) 

            req.onreadystatechange = callback; //指定回调函数 

            req.send(null); //发送请求 

        }

    }

    function callback() //回调函数,对服务端的响应处理,监视response状态 

    {

        if (req.readyState == 4) //请求状态为4表示成功 

        {

            if (req.status == 200) //http状态200表示OK 

            {

                Dispaly(); //所有状态成功,执行此函数,显示数据 

            }

            else //http返回状态失败 

            {

                alert("服务端返回状态" + req.statusText);

            }

        }

        else //请求状态还没有成功,页面等待 

        {

            document.getElementById("frame1").innerHTML = "数据加载中" + req.readyState;

        }

    }

    function Dispaly() //接受服务端返回的数据,对其进行显示 

    {

        document.getElementById("frame1").innerHTML = req.responseText;

    }

</script>

url = "123/test1.aspx"; 这是要请求的后台,其实也就是一个函数

  protected void Page_Load(object sender, EventArgs e)

        {

            String userAgent = Request.UserAgent;       //这地方我随便写了下,你可以完全移植到javascript代码中     

            Response.Write(Check_Wap(userAgent));

        }

        public static bool Check_Wap(String userAgent)

        {

            if (userAgent.IndexOf("Noki") > -1 || // Nokia phones and emulators   

                    userAgent.IndexOf("Eric") > -1 || // Ericsson WAP phones and emulators   

                    userAgent.IndexOf("WapI") > -1 || // Ericsson WapIDE 2.0   

                    userAgent.IndexOf("MC21") > -1 || // Ericsson MC218   

                    userAgent.IndexOf("AUR") > -1 || // Ericsson R320   

                    userAgent.IndexOf("R380") > -1 || // Ericsson R380   

                    userAgent.IndexOf("UP.B") > -1 || // UP.Browser   

                    userAgent.IndexOf("WinW") > -1 || // WinWAP browser   

                    userAgent.IndexOf("UPG1") > -1 || // UP.SDK 4.0   

                    userAgent.IndexOf("upsi") > -1 || //another kind of UP.Browser   

                    userAgent.IndexOf("QWAP") > -1 || // unknown QWAPPER browser   

                    userAgent.IndexOf("Jigs") > -1 || // unknown JigSaw browser   

                    userAgent.IndexOf("Java") > -1 || // unknown Java based browser   

                    userAgent.IndexOf("Alca") > -1 || // unknown Alcatel-BE3 browser (UP based)   

                    userAgent.IndexOf("MITS") > -1 || // unknown Mitsubishi browser   

                    userAgent.IndexOf("MOT-") > -1 || // unknown browser (UP based)   

                    userAgent.IndexOf("My S") > -1 ||//  unknown Ericsson devkit browser    

                    userAgent.IndexOf("WAPJ") > -1 ||//Virtual WAPJAG www.wapjag.de   

                    userAgent.IndexOf("fetc") > -1 ||//fetchpage.cgi Perl script from www.wapcab.de   

                    userAgent.IndexOf("ALAV") > -1 || //yet another unknown UP based browser   

                    userAgent.IndexOf("Wapa") > -1 || //another unknown browser (Web based "Wapalyzer")   

                    userAgent.IndexOf("Oper") > -1)

            {

                return true;

            }

            else

            {

                return false;

            }

        }  

以下我是设想的你移动到javascript中的代码

<script type="text/javascript">

 function check_wap()

 {  

    if (strpos(strtoupper($_SERVER['HTTP_ACCEPT']),"VND.WAP.WML") > 0)

    {

        // Check whether the browser/gateway says it accepts WML.

        $br = "WML";

    }

    else

    {

        $browser=substr(trim($_SERVER['HTTP_USER_AGENT']),0,4);

        if ($browser=="Noki" || $browser=="Eric" || $browser=="WapI" ||  $browser=="MC21"|| $browser=="AUR" || $browser=="R380"||  $browser=="UP.B" ||$browser=="WinW" || $browser=="UPG1"||$browser=="upsi"||$browser=="QWAP" || $browser=="Jigs" || $browser=="Java"
|| $browser=="Alca" || $browser=="MITS" || $browser=="MOT-" ||$browser=="My S" || $browser=="WAPJ" ||  $browser=="fetc" ||$browser=="ALAV" ||  $browser=="Wapa" || $browser=="Oper") 

        {

            $br = "WML";

        }

        else

        {

            $br ="HTML";

        }

      }

        if($br =="WML")

        {

            return TRUE;

        }

        else

        {

            return FALSE;

        }

   }

</script>

所有代码仅供参考,这是目前判断PC和移动的主要方法(UserAgent),祝你工作愉快
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息