PHP和JAVASCRIPT判断访客终端是电脑还是手机

当用户使用手机等移动终端访问网站时,我们可以通过程序检测用户终端类型,如果是手机用户,则引导用户访问适配手机屏幕的移动站点。本文将介绍分别使用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.helloweba.com。

 if (is_mobile()) {     header(‘Location:http://m.helloweba.com‘); } else {     echo ‘请使用手机访问.‘; } 

Javascript版

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

 if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iOS|iPad|Backerry| WebOS|Symbian|Windows Phone|Phone)/i))) {     location.replace("http://m.helloweba.com") }else{     document.write("请使用手机访问."); } 

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

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

时间: 2024-10-07 15:02:06

PHP和JAVASCRIPT判断访客终端是电脑还是手机的相关文章

js判断访客来源网址和关键字

加入现在有A.B两个站,A为友站,B为我站. 希望判断使用从A站连来时,就把访问者拒绝在门外,只要用简单几行的javascript,就可抓到使用的来源,以及作出一些防范的措施. <script type="text/javascript"> var refurl=document.referrer; if(refurl.indexOf("wowgame")>-1){ alert("你的来源网址为:["+document.refe

通过js判断访客显示器屏幕分辨率并给出提示

<script> <!-- fw="1920";fh="1200"; var uw=window.screen.width; var uh=window.screen.height; if(fw==uw) { if(fh==uh){document.write("<span class='green'>完全适合做您的桌面</span>")} else if(fh<uh){document.write

访客登记使用人脸识别有什么好处?

无论是公司企业等办公场所,还是办事大厅等公共场所,它们都需要进行访客登记,维护公司安全和办公环境秩序. 传统访客登记的步骤是前台.保安或访客自己手动填写个人信息(通常是姓名.电话号等),耗时而且不能确定访客的真实身份.数据显示,国内近70%的企业还在使用这种传统的纸质登记访客. 一些机关单位则会使用带有×××读取功能的访客登记智能终端,访客的×××放在访客登记终端的×××读取区域,就能核验访客身份.同时,访客登记终端会自动打印来访小票,作为访客入内的×××明.这样一来,无需手动登记访客信息,节省

JavaScript判断访问终端

最近制作了一个二维码,在android平台会进去android下载渠道,如果是ios系统,则进去appStore下载,代码如下 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body style="font-size:40px;"

javascript判断访问终端,手机端自动跳转

在网页的顶部加入javascript判断代码: function checkserAgent(){ var userAgentInfo=navigator.userAgent; var userAgentKeywords=newArray("Android", "iPhone" ,"SymbianOS", "Windows Phone", "iPad", "iPod", "MQ

File 与 Log #3--动态加入控件,[图片版]访客计数器(用.txt档案来记录)

File 与 Log #3--动态加入控件,[图片版]访客计数器(用.txt档案来记录) 以前的两篇文章(收录在书本「上集」的第十七章) 请看「ASP.NET专题实务」,松岗出版 File 与 Log #1--ASP.NET的档案与I/O Stream(为系统记录Log文件) File 与 Log #2--[图片版]访客计数器(用.txt档案来记录) 现在这么多免费资源,应该也没人得自己制作「访客计数器」了 这个范例的结果或许不合用,但其中实作的经验倒是很有趣 读者来信询问:       上述第

JS获取访客IP进行自动跳转

因业务需要进行地区判断跳转指定站点,下面是我个人实现的办法,分享给大家,仅供参考,切勿做非法用途 第一步,获取IP并判断归属地 直接使用搜狐的IP库查询接口 <script type="text/javascript" src="http://pv.sohu.com/cityjson?ie=utf-8"></script> 返回的地址是: var returnCitySN = {"cip": "IP",

多说最近访客通用代码使用方法

添加[最近访客],请在页面中添加如下代码: <ul class="ds-recent-visitors"></ul> <!--多说js加载开始,一个页面只需要加载一次 --> <script type="text/javascript"> var duoshuoQuery = {short_name:"您的多说二级域名"}; (function() { var ds = document.creat

10步教你来优化WordPress速度 为服务器和访客减压

1.Cookie的静态化制作 约有80%至90%的时间,访客要花费大量的时间等你的WordPress加载静态内容.这意味着,有大部分的时间,用户浏览您的网站,他们正在等待加载,如:图像,CSS,JS脚本,flash等等.所以你可以优化内容,更快捷地让WordPress加载一个cookie域.消除了负载时的一些珍贵的时间,当然了这可能看起来并不多,但添加其他拖延问题时,才能真正减少时间损失. 我不知道其他源码的网站应该怎么做,但是wordpress很简单只要修改一下wp-config.php就好了