多种方式判断PC端,IOS端,移动端
2024-08-24 13:14:35
1. 通过判断浏览器的userAgent,用正则来判断手机是否是IOS(苹果)和Android(安卓)客户端。
var u = navigator.userAgent;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 ture 是 false 否
2.判断是PC 还是移动端
//判断是否手机端访问
var userAgentInfo = navigator.userAgent.toLowerCase();
var Agents = ["android", "iphone",
"symbianos", "windows phone",
"ipad", "ipod"];
var ly=document.referrer; //返回导航到当前网页的超链接所在网页的URL for (var v = 0; v < Agents.length; v++) {
if (userAgentInfo.indexOf(Agents[v]) >= 0&&(ly==""||ly==null)) {
this.location.href='http://m.***.com'; //wap端地址
}
}
3.判断 移动端(Mobile)、ipad、iphone、微信、QQ等
//判断访问终端
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.*/), //是否为移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端
iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)
qq: u.match(/\sQQ/i) == " qq" //是否QQ
};
}(),
language:(navigator.browserLanguage || navigator.language).toLowerCase()
} 使用方法: //判断是否IE内核
if(browser.versions.trident){ alert("is IE"); }
//判断是否webKit内核
if(browser.versions.webKit){ alert("is webKit"); }
//判断是否移动端
if(browser.versions.mobile||browser.versions.android||browser.versions.ios){ alert("移动端"); } currentLang = navigator.language; //判断除IE外其他浏览器使用语言
if(!currentLang){//判断IE浏览器使用语言
currentLang = navigator.browserLanguage;
}
alert(currentLang);
最新文章
- android Sqlite select * from myDatabase没有内容的问题
- 作业3.2:psp
- javascript中对象的深度克隆
- QT自定义精美换肤界面
- Java Hour 19 List
- https://github.com/akullpp/awesome-java
- .NET之特性和属性
- 深入Spring之web.xml
- JVM内存最大能调多大分析
- HDU 2717 Catch That Cow
- PHP如何与搜索引擎Elasticsearch交互?
- 前端之JavaScript--基础
- Git (gnome-ssh-askpass:3871): Gtk-WARNING **: cannot open display:
- 【BZOJ2006】超级钢琴(主席树,优先队列)
- 如何通俗的理解spring的控制反转、依赖注入、面向切面编程等等
- yum 安装fuser命令
- Oracle 体系结构chapter2
- 联想x3650m5服务器安装windows2008R2系统
- 学习Acegi应用到实际项目中(3)
- cmd生成文件目录tree
热门文章
- python文件操作之二进制
- 【scrapy】爬虫中报Forbidden by robots.txt
- 二进制中1的个数(python)
- 第三章&#160;列表(e)插入排序
- NumPy 迭代数组
- Android 单元测试四大组件Activity,Service,Content Provider , Broadcast Receiver
- Codeforces Beta Round #59 (Div. 2)
- Codeforces Beta Round #32 (Div. 2, Codeforces format)
- stark组件之分页【模仿Django的admin】
- IntelliJ IDEA 运行 Maven 项目