ktouchforandroid
发布时间: 2023-09-03 22:32:07
⑴ 求一段js 判断设备跳转网页的代码
一般来说,你这个需求不难办到。思路无非两条,检测UA以及特性检测。
这两种方法可以说各有利弊。
UA检测来说,比较简单、准确、适用面广并且易扩充。
navigator.userAgent.match(/Android/i)//判断是否是Android设备
navigator.userAgent.match(/iPhone|iPad|iPod/i)//判断是否为iOS设备
通过以上的操作就可以很方便的检测用户使用的是什么设备。并且一次类推,几乎可以判断所有的浏览器。
不过UA检测的缺陷也是非常明显的,就是无法判断伪装的浏览器。大部分浏览器都会修改自己的UA,以适配更多的网站,甚至很多移动端的浏览器还支持自定义UA。所以使用UA检测准确,但不一定正确。
另外就是特性检测,特性检测顾名思义,是通过用户浏览器拥有的特性来检测,例如说判断浏览器是否支持某些内置方法来进行判断,或者通过浏览器的怪癖(例如说有些低版本的IE会在解析某些设置时显得跟别人颇为不同)来进行判断。
他的优势是可以真正的检测到浏览器的类型,识破伪装。
不过劣势是非常明显的,就是比较繁琐,并且很麻烦,浏览器版本升级后可能就失效了。
所以建议你使用UA检测或者jQuery Migrate之类的插件。
主要是通过$_SERVER ['HTTP_USER_AGENT']来判断的
自己整理的一个方法,代码如下
/**
*是否是手机访问,true是,false否
*@returnboolean
*/
publicstaticfunctionisMobile(){
$mobilebrowser_list=array(
'iphone',
'android',
'phone',
'wap',
'netfront',
'java',
'operamobi',
'operamini',
'ucweb',
'windowsce',
'symbian',
'series',
'webos',
'sony',
'blackberry',
'dopod',
'nokia',
'samsung',
'palmsource',
'xda',
'pieplus',
'meizu',
'midp',
'cldc',
'motorola',
'foma',
'docomo',
'up.browser',
'up.link',
缓帆 'blazer',
'helio',
'hosin',
'huawei',
'novarra',
'coolpad',
'webos',
'techfaith',
'palmsource',
'alcatel',
'amoi',
'ktouch',
'nexian',
'ericsson',
'philips',
'sagem',
'wellcom',
'bunjalloo',
'maui',
'smartphone',
'iemobile',
'spice',
'bird',
'zte-',
'longcos',
'pantech',
'gionee',
'portalmmm',
'jigbrowser',
'hiptop',
手闷 'benq',
'haier',
'^lct',
'320x320',
'240x320',
'176x220'
);
$useragent=strtolower($_SERVER['HTTP_USER_AGENT']扰薯雹);
$mobile_change=false;
if(!empty($useragent)){
foreach($mobilebrowser_listas$v){
if(stristr($useragent,$v)!==false){
returntrue;
}
}
}
returnfalse;
}
热点内容