首页 > 代码库 > PHP和JS判断访问客户端的是PC还是移动设备

PHP和JS判断访问客户端的是PC还是移动设备

js判断

<script type="text/javascript">    function browserRedirect() {	var sUserAgent = navigator.userAgent.toLowerCase();	var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";	var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";	var bIsMidp = sUserAgent.match(/midp/i) == "midp";	var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";	var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";	var bIsAndroid = sUserAgent.match(/android/i) == "android";	var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";	var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";	if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {	    window.location.href = http://www.mamicode.com/‘http://url/mobile.html‘;>

 (上面js判断方法,个人测试了下,在windows phone8 上会判断为pc)

 

php判断

/** *判断是否是通过手机访问 */function isMobile() {    // 如果有HTTP_X_WAP_PROFILE则一定是移动设备    if (isset($_SERVER[HTTP_X_WAP_PROFILE])) {        return true;    }    //如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息    if (isset($_SERVER[HTTP_VIA])) {        //找不到为flase,否则为true        return stristr($_SERVER[HTTP_VIA], "wap") ? true : false;    }    //判断手机发送的客户端标志,兼容性有待提高    if (isset($_SERVER[HTTP_USER_AGENT])) {        $clientkeywords = array(nokia, sony, ericsson, mot, samsung, htc, sgh, lg, sharp,                sie-, philips, panasonic, alcatel, lenovo, iphone, ipod, blackberry, meizu,                android, netfront, symbian, ucweb, windowsce, palm, operamini, operamobi,                openwave, nexusone, cldc, midp, wap, mobile);        // 从HTTP_USER_AGENT中查找手机浏览器的关键字        if (preg_match("/(" . implode(|, $clientkeywords) . ")/i", strtolower($_SERVER[HTTP_USER_AGENT]))) {            return true;        }    }    //协议法,因为有可能不准确,放到最后判断    if (isset($_SERVER[HTTP_ACCEPT])) {        // 如果只支持wml并且不支持html那一定是移动设备        // 如果支持wml和html但是wml在html之前则是移动设备        if ((strpos($_SERVER[HTTP_ACCEPT], vnd.wap.wml) !== false) && (strpos($_SERVER[HTTP_ACCEPT], text/html) === false || (strpos($_SERVER[HTTP_ACCEPT], vnd.wap.wml) < strpos($_SERVER[HTTP_ACCEPT], text/html)))) {            return true;        }    }    return false;}

 

PHP和JS判断访问客户端的是PC还是移动设备