1. 程式人生 > >如何區分是手機訪問網站,還是PC訪問網站?

如何區分是手機訪問網站,還是PC訪問網站?

使用JS架框有現成的判斷 
例如motools架框中:
Browser.Platform.mac - (boolean) 當前作業系統是否為Mac
Browser.Platform.win - (boolean) 當前作業系統是否為Windows
Browser.Platform.linux - (boolean) 當前作業系統是否為Linux
Browser.Platform.ipod - (boolean) 當前作業系統是否為iPod Touch / iPhone
Browser.Platform.other - (boolean) 當前作業系統即不是Mac, 也不是Windows或Linux
Browser.Platform.name - (string) 當前作業系統的名稱
這個只能通過客戶端傳遞的User-agent來判斷
比如正常pc是:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1;)

常用手機的UserAgent你可以去網上找找,或者自己連手機測試,
比如Nokia5320的是:Nokia 5320/UCWEB7.0.1.34/28/999
HTC的安卓手機:Mozilla/5.0 (Linux; U; Android 2.2; zh-cn; HTC Desire Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1;

iPhone的:Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; zh-cn) AppleWebKit/528.18 (KHTML, like Gecko) Mobile/7D11
asp.net 或JSP 判斷是手機還是電腦訪問網站的可靠方法 

做了WAP網站,用到判斷使用者來自PC還是手機,想了很多方法,如判斷IP,判斷解析度等,但經過試驗,都不太可靠,最終採用了通過獲得http頭資訊的方法來判斷,此方法可靠性最高.詳細程式碼如下:

asp.net [code]

if (Request.Headers["user-agent"] != null && Request.Headers["user-agent"].ToLower().ToString().IndexOf("mozilla") != -1)             Response.Redirect("www/index.aspx");         else             Response.Redirect("wap/index.aspx");

JSP [code]

if(request.getheader("user-agent")!=null&&(request.getheader("user-agent").tolowercase().indexof("mozilla")!=-1)) { strfinishurl = "/web/index.jsp"; }else { strfinishurl = "/wap/index.jsp"; }