JS通过内核判断各种浏览器区分360与谷歌
时间:2020-04-07
本文章向大家介绍JS通过内核判断各种浏览器区分360与谷歌,主要包括JS通过内核判断各种浏览器区分360与谷歌使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
JS通过内核判断各种浏览器区分360与谷歌
function getBrowser() {
var ua = navigator.userAgent.toLocaleLowerCase();
var Browser = null;
if (ua.match(/msie/) != null || ua.match(/trident/) != null) {
Browser = "IE";
browserVersion =
ua.match(/msie ([\d.]+)/) != null
? ua.match(/msie ([\d.]+)/)[1]
: ua.match(/rv:([\d.]+)/)[1];
return "IE";
} else if (ua.match(/firefox/) != null) {
Browser = "火狐";
return "FF";
} else if (ua.match(/ubrowser/) != null) {
Browser = "UC";
return "UC";
} else if (ua.match(/opera/) != null) {
Browser = "欧朋";
return "OP";
} else if (ua.match(/bidubrowser/) != null) {
Browser = "百度";
return "baidu";
} else if (ua.match(/metasr/) != null) {
Browser = "搜狗";
return "SG";
} else if (
ua.match(/tencenttraveler/) != null ||
ua.match(/qqbrowse/) != null
) {
Browser = "QQ";
return "QQ";
} else if (ua.match(/maxthon/) != null) {
Browser = "遨游";
return "AY";
} else if (ua.match(/chrome/) != null) {
var is360 = _mime("type", "application/vnd.chromium.remoting-viewer");
function _mime(option, value) {
var mimeTypes = navigator.mimeTypes;
for (var mt in mimeTypes) {
if (mimeTypes[mt][option] == value) {
return true;
}
}
return false;
}
if (is360) {
Browser = "360";
return "360";
} else {
return "Chrome";
}
} else if (ua.match(/safari/) != null) {
Browser = "Safari";
}
}
function btn() {
let Browser = getBrowser();
if ("FF" == Browser) {
console.log("我是火狐");
} else if ("IE" == Browser) {
console.log("我是IE");
} else if ("UC" == Browser) {
console.log("我是UC");
} else if ("op" == Browser) {
console.log("我是欧朋");
} else if ("baidu" == Browser) {
console.log("我是百度");
} else if ("SG" == Browser) {
console.log("我是搜狗");
} else if ("QQ" == Browser) {
console.log("我是QQ");
} else if ("AY" == Browser) {
console.log("我是遨游");
} else if ("360" == Browser) {
console.log("我是360");
} else if ("Chrome" == Browser) {
console.log("我是谷歌");
}
}
原文地址:https://www.cnblogs.com/wgy0528/p/12655872.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 「最强」Lettuce 已支持 Redis6 客户端缓存
- Go中校验一个字符串是否是有效的JSON字符串
- 在 Vue 中,如何从插槽中发出数据
- Azure DevOps+Docker+Asp.NET Core 实现CI/CD(二.创建CI持续集成管道)
- 这样的奇技淫巧,劝你不用也罢
- 我服务又双叒叕奔溃了,含泪干货分享
- Azure DevOps+Docker+Asp.NET Core 实现CI/CD(一 .简介与创建自己的代理池)
- Android数据库高手秘籍(十二),LitePal的索引功能
- 使用pm2管理go应用进程
- 用Docker搭建Redis主从复制的集群
- IDEA 非常重要的一些设置项 → 一连串的问题差点让我重新用回 Eclipse !
- ArrayList源码分析(基于jdk1.8)(二):subList陷阱补充
- Windows10中安装Docker
- Windows下Docker安装ClickHouse
- ArrayList源码分析(基于jdk1.8)(三):Arrays.asList方法带来的问题