视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
判断访客终端类型集锦_javascript技巧
2020-11-27 21:39:09 责编:小采
文档


当用户使用手机等移动终端访问网站时,我们可以通过程序检测用户终端类型,如果是手机用户,则引导用户访问适配手机屏幕的移动站点。本文将介绍分别使用PHP和JAVASCRIPT代码判断用户终端类型。

PHP版

我们使用PHP的$_SERVER['HTTP_USER_AGENT']来获取手机用户浏览器的用户代理,然后匹配已有的各种手机浏览器代理库,如果含有匹配的关键字,则判断为手机(移动终端)用户。

 
function is_mobile() { 
 $user_agent = $_SERVER['HTTP_USER_AGENT']; 
 $mobile_agents = array("240x320","acer","acoon","acs-","abacho","ahong","airness","alcatel","amoi", 
 "android","anywhereyougo.com","applewebkit/525","applewebkit/532","asus","audio", 
 "au-mic","avantogo","becker","benq","bilbo","bird","blackberry","blazer","bleu", 
 "cdm-","compal","coolpad","danger","dbtel","dopod","elaine","eric","etouch","fly ", 
 "fly_","fly-","go.web","goodaccess","gradiente","grundig","haier","hedy","hitachi", 
 "htc","huawei","hutchison","inno","ipad","ipaq","iphone","ipod","jbrowser","kddi", 
 "kgt","kwc","lenovo","lg ","lg2","lg3","lg4","lg5","lg7","lg8","lg9","lg-","lge-","lge9","longcos","maemo", 
 "mercator","meridian","micromax","midp","mini","mitsu","mmm","mmp","mobi","mot-", 
 "moto","nec-","netfront","newgen","nexian","nf-browser","nintendo","nitro","nokia", 
 "nook","novarra","obigo","palm","panasonic","pantech","philips","phone","pg-", 
 "playstation","pocket","pt-","qc-","qtek","rover","sagem","sama","samu","sanyo", 
 "samsung","sch-","scooter","sec-","sendo","sgh-","sharp","siemens","sie-","softbank", 
 "sony","spice","sprint","spv","symbian","tablet","talkabout","tcl-","teleca","telit", 
 "tianyu","tim-","toshiba","tsm","up.browser","utec","utstar","verykool","virgin", 
 "vk-","voda","voxtel","vx","wap","wellco","wig browser","wii","windows ce", 
 "wireless","xda","xde","zte"); 
 $is_mobile = false; 
 foreach ($mobile_agents as $device) { 
 if (stristr($user_agent, $device)) { 
 $is_mobile = true; 
 break; 
 } 
 } 
 return $is_mobile; 
} 

上述代码中函数is_mobile()来判断用户终端类型,将收集到的当今各种手机的HTTP_USER_AGENT归结到数组$mobile_agents中,并进行匹配。使用时只需调用函数is_mobile()。如以下代码表示,当匹配用户为手机访问时,页面跳转到网站手机版m.jb51.net。

 
if (is_mobile()) { 
 header('Location:http://m.jb51.net'); 
} else { 
 echo '请使用手机访问.'; 
} 

Javascript版

您也可以直接在前端页面上加入一段Javascript脚本来判断用户的终端类型。Javascript也是通过获取浏览器的user-agent信息,然后匹配已有的user-agent信息库。



以上代码还不是很完善,有兴趣的朋友欢迎补充。

当然,我们也可以通过响应式布局来匹配各种不同屏幕,这样可以节约开发成本,但是当客户对移动网站的功能需求,对于的移动站点最好是采用在网站入口处判断用户访问终端类型,一般是我们在主站首页就做判断,如果是手机访客则跳转到手机版页面,否则按正常PC方式访问页面。

下载本文
显示全文
专题