var client = function() {
//呈现引擎
var engine = {
ie: 0,
gecko: 0,
webkit: 0,
khtml: 0,
opera: 0,
//完整的版本号
ver: null
};
//浏览器
var browser = {
//主要浏览器
ie: 0,
firefox: 0,
safari: 0,
konq: 0,
opera: 0,
chrome: 0,
//具体的版本号
ver: null
};
//平台、设备和操作系统
var system = {
win: false,
mac: false,
x11: false,
//移动设备
iphone: false,
ipod: false,
ipad: false,
ios: false,
android: false,
nokiaN: false,
winMobile: false,
//游戏系统
wii: false,
ps: false
};
//检测呈现引擎和浏览器
var ua = navigator.userAgent;
if(window.opera) {
engine.ver = browser.ver = window.opera.version();
engine.opera = browser.opera = parseFloat(engine.ver);
} else if(/AppleWebKit\/(\S+)/.test(ua)) {
engine.ver = RegExp["$1"];
engine.webkit = parseFloat(engine.ver);
//确定是 Chrome 还是 Safari
if(/Chrome\/(\S+)/.test(ua)) {
browser.ver = RegExp["$1"];
browser.chrome = parseFloat(browser.ver);
} else if(/Version\/(\S+)/.test(ua)) {
browser.ver = RegExp["$1"];
browser.safari = parseFloat(browser.ver);
} else {
//近似地确定版本号
var safariVersion = 1;
if(engine.webkit < 100) {
safariVersion = 1;
} else if(engine.webkit < 312) {
safariVersion = 1.2;
} else if(engine.webkit < 412) {
safariVersion = 1.3;
} else {
safariVersion = 2;
}
browser.safari = browser.ver = safariVersion;
}
} else if(/KHTML\/(\S+)/.test(ua) || /Konqueror\/([^;]+)/.test(ua)) {
engine.ver = browser.ver = RegExp["$1"];
engine.khtml = browser.konq = parseFloat(engine.ver);
} else if(/rv:([^\)]+)\) Gecko\/\d{8}/.test(ua)) {
engine.ver = RegExp["$1"];
engine.gecko = parseFloat(engine.ver);
//确定是不是 Firefox
if(/Firefox\/(\S+)/.test(ua)) {
browser.ver = RegExp["$1"];
browser.firefox = parseFloat(browser.ver);
}
} else if(/MSIE ([^;]+)/.test(ua)) {
engine.ver = browser.ver = RegExp["$1"];
engine.ie = browser.ie = parseFloat(engine.ver);
}
//检测浏览器
browser.ie = engine.ie;
browser.opera = engine.opera;
//检测平台
var p = navigator.platform;
system.win = p.indexOf("Win") == 0;
system.mac = p.indexOf("Mac") == 0;
system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);
//检测 Windows 操作系统
if(system.win) {
if(/Win(?:dows )?([^do]{2})\s?(\d+\.\d+)?/.test(ua)) {
if(RegExp["$1"] == "NT") {
switch(RegExp["$2"]) {
case "5.0":
system.win = "2000";
break;
case "5.1":
system.win = "XP";
break;
case "6.0":
system.win = "Vista";
break;
case "6.1":
system.win = "7";
break;
default:
system.win = "NT";
break;
}
} else if(RegExp["$1"] == "9x") {
system.win = "ME";
} else {
system.win = RegExp["$1"];
}
}
}
//移动设备
system.iphone = ua.indexOf("iPhone") > -1;
system.ipod = ua.indexOf("iPod") > -1;
system.ipad = ua.indexOf("iPad") > -1;
system.nokiaN = ua.indexOf("NokiaN") > -1;
//windows mobile
if(system.win == "CE") {
system.winMobile = system.win;
} else if(system.win == "Ph") {
if(/Windows Phone OS (\d+.\d+)/.test(ua)) {;
system.win = "Phone";
system.winMobile = parseFloat(RegExp["$1"]);
}
}
//检测 iOS 版本
if(system.mac && ua.indexOf("Mobile") > -1) {
if(/CPU (?:iPhone )?OS (\d+_\d+)/.test(ua)) {
system.ios = parseFloat(RegExp.$1.replace("_", "."));
} else {
system.ios = 2; //不能真正检测出来,所以只能猜测
}
}
//检测 Android 版本
if(/Android (\d+\.\d+)/.test(ua)) {
system.android = parseFloat(RegExp.$1);
}
//游戏系统
system.wii = ua.indexOf("Wii") > -1;
system.ps = /playstation/i.test(ua);
//返回这些对象
return {
engine: engine,
browser: browser,
system: system
};
}();
console.log("========>>>client", client);相关推荐
ns3-gym入门(二):linear-mesh例子详解
学习ns3-gym中关于IEEE 802.11网状网络中控制随机接入的例子linear-mesh
JS判断安卓、IOS、浏览器、Pad等
js判断安卓、IOS、浏览器、Pad等
Cyclone MAX独立编程实战:从硬件接口到SAP镜像的嵌入式烧录指南
在嵌入式系统开发与量产中,固件烧录是连接软件与硬件的关键环节。其核心原理是通过特定的调试接口(如JTAG、BDM)和编程算法,将编译后的机器码写入目标处理器的非易失性存储器。这项技术的价值在于确保软件在硬件上的可靠部署,是产品功能实现和质量保证的基础,广泛应用于汽车电子、工业控制等对一致性与可靠性要求极高的领域。独立编程器(Stand-Alone Programmer)在此基础上,通过集成存储、交互界面和任务逻辑,实现了脱离PC的自动化操作,极大提升了产线效率和现场维护的便捷性。本文以Cyclone MAX
js 如何判断是 Android 设备还是苹果设备?
js 对客户端的操作系统进行判断主要用:navigator.userAgent、navigator.platform。 用 navigator.userAgent 判断 BrowserInfo = { isAndroid: Boolean(navigator.userAgent.match(/android/ig)), // 是否是Android浏览器 isIpho...
实践指南——【SPSS操作解析】线性混合效应模型在重复测量数据中的应用
本文详细解析了线性混合效应模型在重复测量数据分析中的应用,并提供了SPSS操作指南。文章阐述了该模型如何通过区分固定效应与随机效应,有效处理数据非独立性和缺失值问题,从而获得更可靠的统计推断。
UG/NX二次开发实战:用Python脚本批量更新100个零件参数,解放你的双手
本文详细介绍了如何利用NXOpen Python API进行UG/NX二次开发,实现批量更新100个零件参数的自动化流程。通过环境配置、框架设计、核心代码实现及性能优化,帮助工程师高效完成参数化设计任务,显著提升工作效率。
js判断Android、iOS或浏览器
js判断终端
STM8S全解析之系列文章4---STM8S芯片项目升级引导程序(使用中断接收升级数据)
STM8S全解析之系列文章4—STM8S芯片项目升级引导程序(使用中断接收升级数据) 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 文章目录STM8S全解析之系列文章4---STM8S芯片项目升级引导程序(使用中断接收升级数据)前言一、Flash划分boot和App二、使用步骤1.引入库2.读入数据总结 前言 用过STM8S都知道它没有中断向量重定向,也就意味着STM8S的中断向量没办法指向其他的位置,间接说明升级的引导
判断Android、iOS或浏览器的多种方法
JS判断Android、iOS或浏览器的多种方法第一种:通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端。第二种:检查是否是移动端(Mobile)、ipad、iphone、微信、QQ等。第三种:判断iPhone|iPad|iPod|iOS|Android客户端第四种:判断pc还是移动端 第一种:通过判断浏览器的userAgent,用正则来判断是否是ios和Andr...
第7篇-SAP MM模块-JIT应用实战解析,从计划协议到JIT供应的关键配置与流程
本文深入解析SAP MM模块中的JIT(Just In Time)供应模式,从计划协议到JIT供应的关键配置与流程。通过动态计划行管理、需求聚合与分解等核心功能,实现精确数量、时间和地点的物料供应。文章详细介绍了主数据准备、计划协议配置、MRP参数精调及EDI集成方案,并提供了实施中的典型问题与解决方案,助力企业优化供应链管理。
【YOLO11改进 - 注意力机制】SCSA通过结合空间注意力和通道注意力,提高各种下游视觉任务的性能。
【YOLO11改进 - 注意力机制】SCSA通过结合空间注意力和通道注意力,提高各种下游视觉任务的性能。
浏览器判断设备是android还是ios
我们在用手机浏览器访问一个页面的时候,我们是可以获取当前设备类型的,比如是Android,apple,IPad等,代码如下. /* * 智能机浏览器版本信息: * */ var browser = { versions: function() { var u = navigator.userAgent, app = navigator.appVersion;
从零搭建实时数仓:基于Flink+ClickHouse的实践
实时数据处理和实时数据查询。市场上的技术方案众多,为何选择Flink+ClickHouse?
js判断客户端是ios还是安卓还是其他浏览器
js判断客户端是ios还是安卓还是什么浏览器欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导...
复分析 阿尔福斯(Ahlfors) 第三版答案 英文
答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案
STM32F407中文手册
STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。
JS判断是否是ioS或者Android
JS判断是否是ioS或者Android
android 蓝牙通讯demo
android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。
js判断用户是用安卓还是苹果打开网页,进一步判断是不是手机QQ和微信的内置浏览器
代码: 可以直接复制代码使用: window.onload = function () { //判断用户手机类型 var u = navigator.userAgent, app = navigator.appVersion; var isAndroid = u.indexOf(‘Android’) > -1 || u.indexOf(‘Linux’) > -1;//安卓终端 var...
温度PID控制PLC程序
温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值
JS判断手机系统版本为Android或iOS(可识别微信或QQ浏览器)
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no"> JS获取手机型号和系统 //判断数组中是否包含某字符串 Array.prototype.contains = function(needle) { for (i in
移动端开发如何判断当前环境是ios、安卓android还是微信浏览器
一、需求问题 在移动端开发中,我们有的时候需要判断当前的环境,是苹果ios环境、还是安卓android环境,还是微信浏览器环境。 二、需求分析 判断当前环境是ios、android还是微信,我们可以从两个值进行判断。第一个参数值是userAgent,window.navigator.userAgent,用户代理,使得服务器能够识别客户使用的操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、...
JS判断是苹果系统(ios)还是安卓系统(Android)或者PC端
我坚信,坚持学习,每天进步一点,滴水穿石,我们离成功都很近!以下是总结出来的字节经典面试题目,包含:计算机网络,Kotlin,数据结构与算法,Framework源码,微信小程序,NDK音视频开发,计算机网络等。字节高级Android经典面试题和答案《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
js判断移动端是ios或安卓
JS实现下面功能: 首先判断是否为微信浏览器,然后在判断是ios还是安卓,同事执行不同的下载app的链接 js是无法判断是否安装了某个App的,网上找的的什么设置延时执行,iframe等根!本!没!用!也看了一些大厂的如网易新闻,今日头条等还是需要先跳转到App store里如果你已下载App显示的事打开字样,如果未下载显示的去下载 function openApp() { var ua = window.navigator.userAgent.toLowerCase();
js 判断手机操作系统(ios或Android)
使用javascript判断手机操作系统(ios或Android),介绍小米的miui浏览器如何切换浏览器标识,并解决“在小米浏览器中判断手机操作系统的结果是ios/iPhone”的问题。
vue判断安卓还是IOS
vue判断是安卓还是IOS 写博客是为了做笔记 最近工作上遇到这样一个需求:vue写的页面,需要同时跟安卓和ios进行交互; 若是安卓,执行代码:android.finishActivity(); 若是IOS,执行代码: try { window.webkit.messageHandlers.finishActivity.postMessage(""); }catch(err...
js判断是安卓 还是 ios webview
判断原理:JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本。JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另一种是通过分析浏览器的userAgent属性来判断的。在许多情况下,值判断出浏览器类型之后,还需判断浏览器版本才能处理兼容性问题,而判断浏览器的版本一般只能通过分析浏览器的userA...
JS判断手机是否是iOS或者Android
JS判断客户端是否是iOS或者Android 第一种:通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端。代码如下: var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端 var isiOS ...
判断机型是安卓还是ios
判断机型是安卓还是ios <div id="btn"> <a onclick="detect" id="a"><button>打开app</button></a> </div> <script> var a = document.getElementById("a") // 1、 识别手机类型 var u = navigator.userAgent var isAndr
android判断浏览器,JS判断Android、iOS或浏览器的多种方法(四种方法)
第一种:通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端。代码如下:var u = navigator.userAgent;var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端var isiOS = !!u.match(/\(i[^;]+;( U;...
1845



被折叠的 条评论
为什么被折叠?



