当前位置:网站首页>移动端,PC端,微信等常用平台和浏览器判断
移动端,PC端,微信等常用平台和浏览器判断
2022-08-09 18:37:00 【全栈程序员站长】
大家好,又见面了,我是你们的朋友全栈君。
//浏览器相关信息
//android webview 需要app进行支持,Android web view初始化时,在navigator中添加标识 var wzw={
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('Linux') > -1, //android终端或者uc浏览器
iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
iosView: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
weixin: u.indexOf('MicroMessenger') > -1 || u.indexOf('micromessenger') > -1, //是否微信 (2015-01-22新增)
qq: u.indexOf('QQ')>-1 || u.indexOf('qq')>-1, //是否QQ
uc: u.indexOf('UCBrowser') > -1 || u.indexOf('uc') > -1,
androidView: u.indexOf('ANDROIDWEBVIEW')>-1//需要app端配合,在userAgent中加入标识
};
}(),language:(navigator.browserLanguage || navigator.language).toLowerCase(),
appVersion:navigator.appVersion,
isIOS:function(){
if (/iphone|ipod|ipad/.test(navigator.userAgent)) { return true;}
else {return false;}
}(),
isAndroid:function(){
if (/(Android)/i.test(navigator.userAgent)) {return true}
else{return false}
}(),
isIOSView:function(){
var standalone = window.navigator.standalone,
userAgent = window.navigator.userAgent.toLowerCase(),
safari = /safari/.test( userAgent );
if(!standalone && !safari){
return true;
}else{
return false;
}
}()
}
};
wzw.browser.isMobile=function(){
if(wzw.browser.versions.mobile||wzw.browser.versions.android||wzw.browser.versions.ios){ return true }
else{return false}
}();
wzw.browser.isPc=function(){
if(wzw.browser.versions.mobile||wzw.browser.versions.android||wzw.browser.versions.ios){ return false }
else{return true}
}();发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/105895.html原文链接:https://javaforall.cn
边栏推荐
- 为什么数字钱包需要引入小程序生态
- [免费专栏] Android安全之Android奇淫run-as命令
- 数学建模——模拟退火
- 毕昇编译器优化:Lazy Code Motion
- OpenHarmony如何查询设备类型
- Intensive reading of the paper: VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE
- hdu 1285 确定比赛名次(拓扑排序)
- C#/VB.NET:从PowerPoint文档中提取文本和图片
- [免费专栏] Android安全之Xposed插件开发【从零手把手带】教程
- IDEA工具常用配置
猜你喜欢

JMeter压测时如何在达到给定错误数量后停止测试

Leetcode 739.每日温度 单调栈
![[免费专栏] Android安全之静态方式逆向APK应用浅析【手动注入smali+】+【IDA Pro静态分析so文件】+【IDA Pro基础使用讲解】](/img/05/61cf11d03cb3bd785bba1b12bc946e.png)
[免费专栏] Android安全之静态方式逆向APK应用浅析【手动注入smali+】+【IDA Pro静态分析so文件】+【IDA Pro基础使用讲解】

ebook下载 | 《 企业高管IT战略指南——企业为何要落地DevOps》

源码编译安装与yum和rpm软件安装详解

Open Source Summer | List Details Display Based on Ruoyi Architecture
![[免费专栏] Android安全之Android工程模式](/img/9e/373a513dd3cd4681ff969432c9dfd5.png)
[免费专栏] Android安全之Android工程模式
![[免费专栏] Android安全之数据存储与数据安全【大集合】](/img/bc/9d71ff1de27156e11cde169022f4a1.png)
[免费专栏] Android安全之数据存储与数据安全【大集合】

IDEA工具常用配置

IDEA快捷代码实时模板
随机推荐
IS31FL3737B general 12 x 12 LED drive 40 QFN I2C 42 ma
leetcode 503.下一个更大元素II 单调栈
shell脚本编写 hash方法,shell中字符到ascii码或数字的转换
[免费专栏] Android安全之ZIP文件目录遍历漏洞
Paper sharing: "FED BN" uses the LOCAL BATCH NORMALIZATION method to solve the Non-iid problem
CreateCompatibleDC用法
Flume (五) --------- 自定义 Interceptor、自定义 Source 与 自定义 Sink
环境:Flink版本:1.15.1jar包:flink-sql-connector-oracle
启动 CM agent 报错——ImportError: libssl.so.10: cannot open shared object file: No such file or directory
字节二面,差点倒在了MySQL上面
[Free column] APK dynamic reverse application of Android security [Three Smali injection methods]
mysql 重复数据 分组 多条最新的记录
面试官:MySQL 中 update 更新,数据与原数据相同时会执行吗?大部分人答不上来!
Iptables防火墙常见的典型应用场景
Haven't tried line art videos this year??
VIT transformer详解
使用.NET简单实现一个Redis的高性能克隆版(四、五)
[Free Column] Android Fragment Injection for Android Security
[免费专栏] Android安全之和平精英(FZ)APK逆向分析
[免费专栏] Android安全之Android工程模式