1. 程式人生 > >通過http user-agent判斷是否為手機瀏覽器

通過http user-agent判斷是否為手機瀏覽器

我們做Web開發的時候,常常需要判斷使用者是否是使用手機訪問網站,從而決定如何頁面任何展示給使用者,以提高使用者體驗,這時需要用到判斷瀏覽器型別的程式碼:

下面PHP函式可以根據http user-agent判斷是否為手機訪問,如果是則返回true:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 <?php /** * 判斷是否是通過手機訪問 * @return bool 是否是移動裝置     */ publicfunctionisMobile(){ //判斷手機發送的客戶端標誌 if(isset($_SERVER['HTTP_USER_AGENT'])){ $userAgent=strtolower($_SERVER['HTTP_USER_AGENT']); $clientkeywords=array( 'nokia','sony','ericsson'
,'mot','samsung','htc','sgh','lg','sharp','sie-' ,'philips','panasonic','alcatel','lenovo',,'ipod','blackberry','meizu', ,'netfront','symbian','ucweb','windowsce','palm','operamini', 'operamobi','opera mobi','openwave','nexusone','cldc','midp','wap','mobile' ); // 從HTTP_USER_AGENT中查詢手機瀏覽器的關鍵字 if(preg_match
("/(".implode('|',$clientkeywords).")/i",$userAgent)&&strpos($userAgent,'ipad')===false) { returntrue; } } returnfalse; }

附:各移動瀏覽器的http user-agent:

一、微信的http user-agent(關鍵詞MicroMessenger)

1. Iphone(蘋果)平臺微信的ucweb的:

1 2 Mozilla/5.0(iPhone;CPU iPhone OS5_1like Mac OSX)AppleWebKit/534.46(KHTML,like Gecko) Mobile/9B176MicroMessenger/4.3.2

2. Android(安卓)平臺微信的ucweb的useragent:

1 2 Mozilla/5.0(Linux;U;Android2.3.6;zh-cn;GT-S5660 Build/GINGERBREAD)AppleWebKit/533.1 (KHTML,like Gecko)Version/4.0Mobile Safari/533.1MicroMessenger/4.5.255
二、UC瀏覽器的http user-agent(關鍵詞UCWEB)

1. 平臺:
android平臺ucweb急速模式開啟下ucweb瀏覽器useragent:

1 UCWEB/2.0(Linux;U;Adr2.3;zh-CN;MI-ONEPlus)U2/1.0.0UCBrowser/8.6.0.199U2/1.0.0Mobile

android平臺ucweb急速模式關閉狀態下的http_user_agent:

1 2 Mozilla/5.0(Linux;U;Android2.3;zh-CN;MI-ONEPlus)AppleWebKit/534.13(KHTML,like Gecko) UCBrowser/8.6.0.199U3/0.8.0Mobile Safari/534.13

2. iPhone 平臺
iPhone 平臺極速模式開啟狀態下ucweb瀏覽器useragent:

1 UCWEB/2.0(iOS;U;iPh OS4_3_2;zh-CN;iPh4)U2/1.0.0UCBrowser/8.6.0.199U2/1.0.0Mobile

iPhone 平臺極速模式關閉狀態下 UA 示例如下:(OBUA 為自帶瀏覽器 UA)

1 OBUA UCBrowser/8.6.0.199Mobile

3. iPad 平臺
ipad平臺下ucweb瀏覽器useragent:

1 2 Mozilla/5.0(iPad;U;CPU OS6_0like Mac OSX;zh-CN;iPad2)AppleWebKit/534.13 (KHTML,like Gecko)UCBrowser/8.6.0.199U3/0.8.0Safari/534.13

4. Phone平臺
WP平臺下ucweb瀏覽器useragent:
WP平臺極速模式開啟狀態下:(以 Nokia 900 為例)

1 UCWEB/2.0(Windows;U;wds7.10;zh-CN;Nokia900)U2/1.0.0UCBrowser/8.6.0.199U2/1.0.0Mobile

5. 諾基亞平臺
諾基亞手機Symbian&Java平臺ucweb瀏覽器useragen:

1 Nokia5800XpressMusic/UCWEB8.9.0.253/50/999