判断当前是移动端还是PC端 判断是微信浏览器还是非微信浏览器
需求分析:
在我现有的项目中,使用MVC模型,移动端和PC端主方法都放在了C中,移动端使用
is_mobile函数来区分移动端和PC端,在移动端需要区分微信浏览器和非微信浏览器,所以经过研究和实验,发现了以下的方法:
区分移动端和PC端:
$_SERVER['HTTP_USER_AGENT'] 的作用:用来检查浏览页面的访问者在用什么操作系统(包括版本号)浏览器(包括版本号)和用户个人偏好的代码,所以使用了枚举来判断是移动端还是PC端
function is_mobile() {
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$mobile_agents=Array(
"240x320","acer","acoon","acs","abacho","ahong","airness","alcatel",
"amoi","android","anywhereyougo.com","applewebkit/525","applewebkit/532",
"asus","audio","aumic","avantogo","becker","benq","bilbo","bird","blackberry",
"blazer","bleu","cdm-","compal","coolpad","danger","dbtel","dopod","elaine",
"eric","etouch","fly","fly_","fly","go.web","goodaccess","gradiente","grundig",
"haier","hedy","hitachi","htc","huawei","hutchison","inno","ipaq","ipod",
"jbrowser","kddi","kgt","kwc","lenovo","lg","lg2","lg3","lg4","lg5","lg7",
"lg8","lg9","lg","lge","lge9","longcos","maemo","mercator","meridian",
"micromax","midp","mini","mitsu","mmm","mmp","mobi","mot-",
"moto","nec-","netfront","newgen","nexian","nfbrowser","nintendo","nitro",
"nokia","nook","novarra","obigo","palm","panasonic","pantech",
"philips","phone","pg","playstation","pocket","pt","qc","qtek","rover",
"sagem","sama","samu","sanyo","samsung","sch-",
"scooter","sec-","sendo","sgh-","sharp","siemens",
"sie-","softbank","sony","spice","sprint","spv",
"symbian","talkabout","tcl-","teleca","telit","tianyu","tim-",
"toshiba","tsm","up.browser","utec","utstar","verykool",
"virgin","vk-","voda","voxtel","vx","wap","wellco","wig browser",
"wii","windows ce","wireless","xda","xde","zte"
);
$is_mobile = false;
foreach ($mobile_agents as $device) {
if (stristr($user_agent, $device)) {
$is_mobile = true;
break;
}
}
return $is_mobile;
}
判断是微信浏览器还是非微信浏览器:
function isWeixin() {
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) {
return true;
} else {
return false;
}
}
判断当前是移动端还是PC端 判断是微信浏览器还是非微信浏览器相关推荐
- js判断移动端,pc端,安卓,苹果浏览器的方法
js 判断安卓或者ios 之indexOf方式(一) //判断访问终端 var browser={versions:function(){var u = navigator.userAgent, ap ...
- 关于网页js判断“客户端设备类型是移动端还是PC端“的解决方法?
文章目录 网页中js如何判断设备类型是手机端还是pc端? 有时候会在项目中遇到设备类型判断的问题,这里和大家分享一个js判断设备类型的办法: userAgent 属性的值 代码块 网页中js如何判断设 ...
- js 判断移动端还是pc端,ios或者android
js 判断移动端还是pc端,ios或者android 法一: function IsPC(){ var userAgentInfo = navigator.userAgent;var Agents = ...
- vue 判断移动端、pc端
判断移动端或pc端 经常在项目中会有支持 pc 与手机端需求.并且pc与手机端是两个不一样的页面.这时就要求判断设置,根据不同的设置跳转不同的路由. 先写个方法: //APP.vue isMobile ...
- C#和JQ判断移动端还是PC端
判断移动端还是PC端浏览网页可以使用两种方法: 1.在C#语句进行判断 /// <summary>/// 判断是移动端/// </summary>/// <returns ...
- java 判断手机访问_java后台如何判断是移动端还是pc端的访问请求
java后台如何判断是移动端还是pc端的访问请求 主要是根据 HttpServletRequest request 中的请求头所带的参数 user-agent来获取: String userAge ...
- js判断客户端是移动端还是PC端
//判断客户端是移动端还是pc端 //userAgent用户代理 function IsPC() { var userAgentInfo = navigator.userAgent; var Agen ...
- 移动端和pc端的区别
PC端与移动端的区别 pc端与移动端从兼容性.事件处理.布局.动画处理上来说有五种区别 1.从兼容方面来说, PC考虑的是浏览器的兼容性,而移动端开发考虑的更多的是手机兼容性,因为目前不管是andro ...
- nginx配置区分移动端和PC端,访问不同域名
在群里遇到一个朋友,想实现移动端和PC端访问相同域名,但是页面效果有区别(这里先排除自适应,因为他已经写完了两个项目,移动端和PC端分开写的),所以我就提供了如下方案:访问同一域名,在nginx里判断 ...
最新文章
- 2018-3-23论文一种新型智能算法--狼群算法(笔记三)实验分析单峰,多峰,可分和不可分函数
- c语言错误2064,VC错误: error C2064: term does not evaluate to a function
- 1个系统节拍 c语言_自己写的非抢占式嵌入式操作系统ATOS,全c语言,移植太......
- python3精要(18)-函数主要概念
- oracle 半连接 效率,关于oracle中的半连接
- kaggle的kernel-only比赛中出现Your Notebook cannot use internet access in this competition解决方案
- Activity Monitor 闪退 无法进入睡眠
- python except用法和作用_121个问题答对80%那么恭喜你,Python的高薪工作迟早有你一份...
- git撤销分支上代码的修改
- FullCalendar 一: 日程安排FullCalendar
- 有符号数与无符号数间的转换
- html5基础--audio标签元素
- TOMM2018_Unsupervised Person Re-identification: Clustering and Fine-tuning
- 企业税银数据深度分析(上)
- CStatic类简介
- 开源网站访问统计系统Piwik的基本使用
- C语言进阶 之 字符串函数(4)
- android swf webview,android webview播放swf文件
- 关于广义莫比乌斯反演的思考
- STM32的PWM和DAC练习中生成音频和波形
热门文章
- Programming Differential Privacy第三章
- Windows10 Emacs-SML开发环境搭建
- 创新实训(2)-Scrapy 学习
- [概率论]图像里的“白噪声”——电视机搜不到台时雪花斑点的形成原因 (不信谣,不传谣,与宇宙微波背景辐射没有任何关系)
- 简师网:公务员这些知识点需要背诵!
- 保护计算机数据库,保护Access2000数据库的安全
- 三极管3种基础接法比较
- OpenWRT学习笔记(1)环境部署代码下载及编译
- list序列化为string存入数据库
- 阿里巴巴三面总结,讲一讲从P5到P8需要掌握的知识点,本人已成功入职。