当前位置:首页 » 编程语言 » 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的方式放在用户客户端执行,可以大大减少服务器端额外处理的压力,但是有时需要通过在服务器端进行判断的情况除外。

热点内容
qq怎么加密聊天记录 发布:2025-04-29 14:49:27 浏览:378
数据库恢复工具 发布:2025-04-29 14:33:53 浏览:802
c语言大写换成小写 发布:2025-04-29 14:13:14 浏览:882
扑克牌密码多少位数 发布:2025-04-29 14:08:08 浏览:541
什么记事本可以设置密码啊 发布:2025-04-29 14:02:49 浏览:596
linux软raid固态缓存 发布:2025-04-29 14:01:39 浏览:742
ios存储空间不够怎么办 发布:2025-04-29 13:59:39 浏览:641
安卓手机怎么做记事本 发布:2025-04-29 13:47:51 浏览:85
windows2003ftp服务器 发布:2025-04-29 13:47:50 浏览:987
cc攻击网站源码 发布:2025-04-29 13:46:37 浏览:618