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

2015-8-8 / 7 评论 / 20662 阅读

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

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


PHP版

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

emlog程序为例:第一步,找到模板文件module.php,在其中加入如下代码:

<?php //判断手机参数
function sywap(){ 
$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"); 
$sywap = false;foreach($mobile_agents as $device){if(stristr($user_agent, $device)) {$sywap = true;break;}}return $sywap;}?>

在需要放置的地方用如下代码:

<?php if(sywap()){?>是手机端显示参数
<?php }else{?>不是手机端显示参数
<?php }?>

以下代码为舍力自用跳转代码,请不必理会!!!
<?php if(sywap()){header('Location:http://www.shuyong.net/wap/');?>
<?php }else{header('Location:http://www.shuyong.net/');//不是手机访问跳转到电脑版?>
<?php }?>
-=-Javascript版

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

<script type="text/javascript"> 
if((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iOS|iPad|Backerry|WebOS|Symbian|Windows Phone|Phone)/i))){ 
document.write("是手机端显示");  
}else{document.writeln("非手机端显示");
}</script>

评论一下?

OωO
取消
    1. 头像
      我我
      第5楼
      你这是跳转不是显示,不对?
      回复
      1. 头像
        舍力
        @我我:仔细看教程,还不会就自己慢慢摸索吧。
        回复
    1. 头像
      友吧网
      第4楼
      没有效果,我想向你网站这效果,手机菜单跟电脑菜单不一样,直接说方法。可以吗?或者发邮箱,谢谢!
      回复
      1. 头像
        舍力
        @友吧网:方法教程不是给你了么?还要什么?要我帮我做好么?这样就要收费了哦
        回复
    1. 头像
      无言
      地板
      看看看
      回复
    1. 头像
      白洋淀旅游
      板凳
      我来找代码了。
      嘿嘿。
      回复
    1. 头像
      网站目录
      沙发
      拿过来用用看,最近正在找这个代码,谢谢了
      回复