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;
}
熱點內容