當前位置:首頁 » 編程語言 » php判斷移動設備

php判斷移動設備

發布時間: 2025-04-23 05:28:09

A. PHP如何識別是電腦端或手機移動端訪問網站

用css來判斷當前頁面的寬度和高度,現在pc的解析度最低都在1200*768以上,iPad pro的寬度為1024px,當寬度大於1100px以上,都可以認為當前訪問端為pc,一般iPad的寬度為768px,iPhone X的寬度為375px;所以當寬度低於800以下的,都視為手機移動端,現在的pc和手機自適應頁面都是按照這個來區分的。

B. 怎麼讓網站自動識別設備,自動跳轉wap頁面

自動識別跳轉,主要有以下幾種方法可以嘗試:

1、在網站head標簽里加跳轉語句

要實現網站根據訪問設備自動識別展示手機站或PC站這個功能,需要以下幾個步驟:

(1)、你得有一個PC端,在電腦上訪問的官方網站,比如:www..com。

(2)、你需要重新製作一個移動端的手機網站,比如:m..com。

(3)、在PC端的網站上加上一段代碼,每個頁面都需要加上,放在PC端網站head標簽裡面,代碼如下:

//平台、設備和操作系統

var system = {

win: false,

mac: false,

xll: false

};

//檢測平台

var p = navigator.platform;

system.win = p.indexOf(「Win」) == 0;

system.mac = p.indexOf(「Mac」) == 0;

system.x11 = (p == 「X11″) || (p.indexOf(「Linux」) == 0);

//跳轉語句

if (!(system.win || system.mac || system.xll)) {//轉向電腦界面

window.location.href = 「http://m..com」;

}

(4)、進入域名解析系統,做一個別名cname解析,比如:你手機網站製作公司給的地址123.域名.com解析到m..com域名解析系統。

2、根據移動終端和瀏覽器版本信息判定的語法

還有一些站長或SEO可能會考慮到移動終端的版本和瀏覽器版本信息,對此,肥貓科技也為大家整理了一段比較有效的代碼,如下所示:

<script type="text/javascript">

var browser={

versions:function(){

var u = 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.+Mac OS X/), //ios終端

android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android終端或者uc瀏覽器

iPhone: u.indexOf('iPhone') > -1 || (u.indexOf('Mac') > -1 && u.indexOf('Macintosh') < 0), //是否為iPhone或者QQHD瀏覽器

iPad: u.indexOf('iPad') > -1, //是否iPad

webApp: u.indexOf('Safari') == -1 //是否web應該程序,沒有頭部與底部

};

}(),

language:(navigator.browserLanguage || navigator.language).toLowerCase()

}

if (browser.versions.ios||browser.versions.android||browser.versions.iPhone||browser.versions.iPad) {

self.location=http://www..com;

}

</script>

3、自動識別手機頁面、iPad頁面和wap頁面

可以根據不同的終端類型適當的改變正則表達式,這段代碼添加到需要識別的網頁,會根據客戶端的類型自動跳轉到手機頁、平板頁或其他移動設備頁面,非常的靈活!

<script type="text/javascript">

if(/AppleWebKit.*mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){

if(window.location.href.indexOf("?mobile")<0){

try{

if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){

window.location.href="http://www..com/m";

}else if(/iPad/i.test(navigator.userAgent)){

window.location.href="http://www..com/pad";

}else{

window.location.href="http://www..com/wap"

}

}catch(e){}

}

}

</script>

4、使用PHP語言來識別

對於一些精通PHP語言的博友來說,也可以通過PHP語法來實現,比如以下的寫法:

//設定Mobile的定義

$mobileAgent = array("iphone", "ipod", "ipad", "android", "mobile", "blackberry", "webos", "incognito", "webmate", "bada", "nokia", "lg", "ucweb", "skyfire");

//讀取用戶的瀏覽器資料

$browser = $_SERVER['HTTP_USER_AGENT'];

$isMobile = false;

//檢查開始

foreach($mobileAgent as $search){

if(stristr($browser,$search)!=false){

$isMobile = true;

//echo $search;

//程式碼(轉址)

header("Location: http://www..com/m/index.html");

//停止運行程序

exit;

}

}

?>

5、做個自動識別的效果

經過多次測試,我們也可以做個自動識別的效果,方法很簡單,在你需要自動跳轉的頁面加入以下代碼:

<script type="text/javascript">

var mobileAgent = new Array("iphone", "ipod", "ipad", "android", "mobile", "blackberry", "webos", "incognito", "webmate", "bada", "nokia", "lg", "ucweb", "skyfire");

var browser = navigator.userAgent.toLowerCase();

var isMobile = false;

for (var i=0; i<mobileAgent.length; i++){ if (browser.indexOf(mobileAgent[i])!=-1){ isMobile = true;

//alert(mobileAgent[i]);

location.href = 'http://siteapp..com/webapp/mahaixiang.cn#m/http://mahaixiang.cn/';

break; } }

</script>

6、自動識別移動端適配跳轉網址的代碼

手機版的網站需要簡單,以文字為主,才能很好的兼容,可以在網站的首頁設置一個程序來判斷用戶是手機端還是電腦,如果是手機端,直接中轉到手機端,如果是電腦端,直接中轉到電腦端(大家也可以使用網路提高的網路移動搜索開放適配服務。

對此,大家可以在網站的首頁插入入下代碼:

<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=B頁面;

}

}

browserRedirect();

</script>

<script type="text/javascript">uaredirect("<A href='http://www..com/wap/","http://www..com/index.html");http://www..com/wap/","http://www..com/index.html");

</script>

在肥貓科技看來,PC版網頁自動識別手機客戶端並跳轉,用js進行判斷是否手機客戶端進行跳轉最好,特別是靜態網頁,把這個過程通過js的方式放在用戶客戶端執行,可以大大減少伺服器端額外處理的壓力,但是有時需要通過在伺服器端進行判斷的情況除外。

熱點內容
特價雲伺服器在線選購 發布:2025-04-29 10:30:42 瀏覽:612
如何查看筆記本電腦的配置內存 發布:2025-04-29 10:29:19 瀏覽:826
王剛訪問 發布:2025-04-29 10:28:32 瀏覽:595
facebook如何注冊安卓賬號 發布:2025-04-29 10:22:45 瀏覽:172
沒有文件夾重定向 發布:2025-04-29 10:09:24 瀏覽:596
松下壓縮機廠 發布:2025-04-29 10:05:07 瀏覽:631
iar編譯ram超限 發布:2025-04-29 09:53:10 瀏覽:946
存儲晶元龍頭 發布:2025-04-29 09:26:11 瀏覽:276
資料庫線 發布:2025-04-29 09:19:44 瀏覽:75
linux命令使用 發布:2025-04-29 09:00:22 瀏覽:681