判斷是否是手機訪問
該功能的實現思路是通過HTTP_X_WAP_PROFILE、HTTP_VIA、HTTP_USER_AGENT等信息來判斷訪客是否通過移動端瀏覽器訪問PHP網站。以下是PHP代碼:
/**
* 是否移動端訪問訪問
*
* @return bool
*/
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;
}
B. html怎麼判斷手機是否手機訪問
主要可以在html中,用js判斷
1、js的代碼如下
C. 網頁怎麼判斷是電腦瀏覽還是手機終端
不同的網頁判斷基準不一樣
一、php/html網頁判斷標准
1、php網頁是根據用戶訪問的設備解析度來判斷是電腦瀏覽器或者是手機瀏覽器的。
2、例如php通過如下代碼即可實現統計:
<?php
functioncheck_wap(){
if(isset($_SERVER['HTTP_VIA']))returntrue;
if(isset($_SERVER['HTTP_X_NOKIA_CONNECTION_MODE']))returntrue;
if(isset($_SERVER['HTTP_X_UP_CALLING_LINE_ID']))returntrue;
if(strpos(strtoupper($_SERVER['HTTP_ACCEPT']),"VND.WAP.WML")>0){
//Checkwhetherthebrowser/gatewaysaysitacceptsWML.
$br="WML";
}else{
$browser=isset($_SERVER['HTTP_USER_AGENT'])?trim($_SERVER['HTTP_USER_AGENT']):'';
if(empty($browser))returntrue;
$mobile_os_list=array('GoogleWirelessTranscoder','WindowsCE','WindowsCE','Symbian','Android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','OperaMobi','J2ME/MIDP','Smartphone','Go.Web','Palm','iPAQ');
$mobile_token_list=array('Profile/MIDP','Configuration/CLDC-','160×160','176×220','240×240','240×320','320×240','UP.Browser','UP.Link','SymbianOS','PalmOS','PocketPC','SonyEricsson','Nokia','BlackBerry','Vodafone','BenQ','Novarra-Vision','Iris','NetFront','HTC_','Xda_','SAMSUNG-SGH','Wapaka','DoCoMo','iPhone','iPod');
$found_mobile=checkSubstrs($mobile_os_list,$browser)||
checkSubstrs($mobile_token_list,$browser);
if($found_mobile)
$br="WML";
else$br="WWW";
}
if($br=="WML"){
returntrue;
}else{
returnfalse;
}
}
functioncheckSubstrs($list,$str){
$flag=false;
for($i=0;$i<count($list);$i++){
if(strpos($str,$list[$i])>0){
$flag=true;
break;
}
}
return$flag;
}
if(check_wap()){
echo"wap";
}else{
echo"web";
}
?>
二、javajavascript的判斷標准:
1、JavaScript不管是判斷電腦瀏覽器還是手機瀏覽器,都是通過User Agent 來判斷;
2、以 javascript判斷實力如下:
<coding-1lang="other">
<scripttype="text/javascript">
varbrowser={
versions:function(){
varu=navigator.userAgent,app=navigator.appVersion;
return{
trident:u.indexOf('Trident')>-1,//IE內核
presto:u.indexOf('Presto')>-1,//opera內核
webKit:u.indexOf('AppleWebKit')>-1,//蘋果、谷歌內核
gecko:u.indexOf('Gecko')>-1&&u.indexOf('KHTML')==-1,//火狐內核
mobile:!!u.match(/AppleWebKit.*Mobile.*/)||!!u.match(/AppleWebKit/),//是否為移動終端
ios:!!u.match(/(i[^;]+;(U;)?CPU.+MacOSX/),//ios終端
android:u.indexOf('Android')>-1||u.indexOf('Linux')>-1,//android終端或者uc瀏覽器
iPhone:u.indexOf('iPhone')>-1||u.indexOf('Mac')>-1,//是否為iPhone或者QQHD瀏覽器
iPad:u.indexOf('iPad')>-1,//是否iPad
webApp:u.indexOf('Safari')==-1//是否web應該程序,沒有頭部與底部
};
}()
}
document.writeln("是否為移動終端:"+browser.versions.mobile);
document.writeln("ios終端:"+browser.versions.ios);
document.writeln("android終端:"+browser.versions.android);
document.writeln("是否為iPhone:"+browser.versions.iPhone);
document.writeln("是否iPad:"+browser.versions.iPad);
document.writeln(navigator.userAgent);
</script>
</coding>
D. ThinkPHP中判斷是手機端還是電腦端訪問的方法
一般是通過訪問的時候請求來源的header頭文件信息來進行判斷的,譬如Android的手機訪問的話一般都會在hedear頭信息裡面帶上Android這樣的信息,同理Iphone、windows phone都會帶。
E. asp中怎樣實現判斷是手機訪問還是電腦瀏覽器訪問
如果是手機訪問則跳轉到wap.asp,如果電腦訪問跳轉到response.end。
F. 如何判斷 訪問網頁的是手機還是pc
對於想要統計網站訪客,收集他們的一些信息,例如搜索詞 瀏覽器型號 解析度 設備 操作系統等 可以使用網路統計來記錄訪問我們網站的訪客的一些信息 裡面有一個訪客屬性的指標 可以看到是pc還是移動設備訪問的。
G. 如何判斷是手機還是電腦在訪問網站
如何判斷是手機還是電腦訪問網站:
現在由於手機功能的強大,使用手機上網的用戶越來越多,那麼就需要判斷用戶是用何種客戶端登陸的網站,如果使用的是電腦則使用電腦版本的網頁,如果使用的手機則使用手機版本的網頁,下面是一段能夠判斷是手機還是電腦的代碼:
function check() {
var userAgentInfo=navigator.userAgent;
var Agents =new Array("Android","iPhone","SymbianOS","Windows Phone","iPad","iPod");
var flag=true;
for(var v=0;v<Agents.length;v++) {
if(userAgentInfo.indexOf(Agents[v])>0) {
flag=false;
break;
}
}
return flag;
}
在以上代碼中,如果如果flag返回值為true則說明是電腦客戶端,如果是false,則說明使用的是移動客戶端,代碼比較簡單這里就不多介紹了,直接套用就可以了
H. 如何判斷是手機訪問網站還是電腦訪問網站
<? /** *程 序:iswap) *最後更新:2010.11.4 22:56 *程序返回:@return bool 是否是移動設備 *該程序可以任意傳播和修改,但是請保留以上版權信息! */ 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; } ?>
I. 判斷是手機訪問還是PC訪問
在現在手機上網和wifi越來越普及的情況下,web網站需要對http的客戶端進行區分並適配不同的頁面,確保給用戶最合適的體驗效果。
因此從網站伺服器端去分析,區分當前http請求是來自mobile的手機上的瀏覽器,還是來自Windows,Linux,Mac等PC電腦上的瀏覽器,就顯得非常有必要了。
J. PHP判斷是否是通過手機訪問
你好,PHP判斷是否通過手機訪問可以通過瀏覽器的UA判斷。。
<?php
if(stripos($_SERVER['HTTP_USER_AGENT'],"android")!=flase||stripos($_SERVER['HTTP_USER_AGENT'],"ios")!=flase||stripos($_SERVER['HTTP_USER_AGENT'],"wp")!=flase)
{
echo '手機訪問';
}
else
{
echo '電腦訪問';
}
?>
主要是因為瀏覽器USER_AGENT有操作系統名稱,所以通過此函數判斷。