工作需要判断当前浏览器是否能使用ES6特性;

1、首先肯定要先判断当前浏览器的类型

2、然后判断该浏览器是否支持ES6的部分特性;

解决1:

var userAgent = navigator.userAgent;
//Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.170 Safari/537.36 OPR/53.0.2907.99
var isOpera = userAgent.indexOf("OPR") > -1; //判断是否Opera浏览器
//Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; rv:11.0) like Gecko
var isIE11 = userAgent.indexOf("rv") > -1; //判断是否IE浏览器
//Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729)
var elseIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1;
//Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0
var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器
//Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30
var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1; //判断是否Safari浏览器
//Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
var isChrome = userAgent.indexOf("Chrome") > -1 && userAgent.indexOf("Safari") > -1 ; //判断Chrome浏览器 

当时为了判断当前浏览器的类型,在网上看了很多各个浏览器navigator.userAgent,来帮助我写判断语句,但是总存在一点问题,不知道自己是用的不对还是怎样,所以索性就把主流浏览器都安装了个遍,然后总结归纳找不同,如上~~~应该是没哈问题的啦

解决2

当时做的时候,偷个小懒,上网查查有木有什么插件或者库可以直接用的,哈哈哈,然后就发现了一个ES6的功能检测库es-checker

具体用法可以看看http://www.ruanyifeng.com/blog/2015/06/es-checker.html

但是我建议还是下载到本地吧,我当时直接用cdn的时候又出现问题~~~

然后举个例子--->我是利用正则加上es-checker来判断当前浏览器是否支持ES6的let、const

var Sys = {};
var supES6 = "no";
if (isOpera) {  Sys.opera = userAgent.match(/OPR\/([\d.]+)/)[1];if(Supports.letConst){supES6 = "yes";}console.log("Opera"+' '+Sys.opera+' '+supES6);} else if (isFF) { Sys.firefox = userAgent.match(/Firefox\/([\d.]+)/)[1];if(Supports.letConst){supES6 = "yes";}console.log("Firefox"+' '+Sys.firefox+' '+supES6);
} else  if (isSafari) {  Sys.safari = userAgent.match(/Safari\/([\d.]+)/)[1];if(Supports.letConst){supES6 = "yes";}console.log("Safari"+' '+Sys.safari+' '+supES6);
}  else   if (isChrome) { Sys.chrome = userAgent.match(/Chrome\/([\d.]+)/)[1];if(Supports.letConst){supES6 = "yes";}console.log("Chrome"+' '+Sys.chrome+' '+supES6);
} else if(isIE11){Sys.ie = userAgent.match(/rv:([\d.]+)/)[1];if(Supports.letConst){supES6 = "yes";}console.log("IE"+' '+Sys.ie+' '+supES6);
}else  if (elseIE) { Sys.elseIE = userAgent.match(/MSIE\s([\d.]+)/)[1];if(Supports.letConst){supES6 = "yes";}console.log("IE-low"+' '+Sys.elseIE+' '+supES6);
} 

以上呢,就是我的代码啰,放在一个函数里面直接应用,然后记得引入es-checker.js文件哦~~

判断浏览器类型及是否能使用ES6部分特性相关推荐

  1. JavaScript判断浏览器类型及版本

    JavaScript判断浏览器类型及版本 你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, Safari四大浏览器之外,世界上还有近百种浏览器. 几天前,浏览器家族有 ...

  2. JS判断浏览器类型的方法【转】

    在网站前端开发中,浏览器兼容性问题本已让我们手忙脚乱,Chrome的出世不知道又要给我们添多少乱子.浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本 ...

  3. 【javascript】—— JS判断浏览器类型、操作系统

    navigator.userAgent : userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值. navigator.platform : platform ...

  4. 根据屏幕分辨率获取css,根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码...

    既判断分辨率,也判断浏览器 重新完善代码,使之成为判断浏览器类型屏幕分辨率自动调用不同CSS的代码. 解释: var IE1024=""; var IE800="&quo ...

  5. JavaScript判断浏览器类型及版本(新增谷歌的Chrome)

    来源:http://blog.tripdev.com/?tid=164 JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本.JavaScript ...

  6. PHP判断浏览器类型和浏览器语言(附各国语言简写代码)

    用php语言来判断浏览器类型其实很简单. 因为浏览器在和服务器连接时候都会先发送一些包含自己信息的内容(浏览器类型.语言啦). 这里我们主要分析的是_SERVER["HTTP_USER_AG ...

  7. Java判断浏览器类型

    /** * 判断浏览器类型是否是IE,是则返回true,不是返回false * ServletActionContext是struts2上下文对象 * @author 李英夫(2010-6-20 上午 ...

  8. java判断浏览器类型_判断浏览器类型

    一.判断是否为IE 以前判断是否IE浏览器用的是window.navigator.userAgent,跟踪这个信息,发现在开发环境,识别为IE10,但访问服务器则识别为IE11,但IE11的userA ...

  9. js判断浏览器类型,判断ie内核,webkit

    js判断浏览器类型 <script>function _mime(option, value) {const mimeTypes = navigator.mimeTypes;for (co ...

最新文章

  1. javascript 点点滴滴 jquery
  2. android webview js交互,响应webview图片的响应事件
  3. CTS(23) --- Android 8.1GMS注意事项
  4. Comparable和Comparator接口是干什么的?列出它们的区别。
  5. “算法天团”最强课程笔记已整理好,速查收!【附PPT打包下载】
  6. 2020年11月连云港计算机考试,2019年江苏省连云港市下半年全国计算机等级考试考务通知...
  7. 分治,递归,贪心算法,动态规划的关系
  8. 字符与ascii的互转
  9. Vmware报错 This product may not be installed on a computer that has Microsoft HyperV installed. 解决
  10. Qt获取本机硬盘序列号,不受IDE硬盘与SCSI硬盘类型影响
  11. php九九乘法表带表格,九九乘法表打印(js打印九九乘法表用表格显示)
  12. 墨云科技获蓝驰创投数千万元投资,用人工智能升级网络安全服务
  13. 游戏挂机时计算机设置在哪里,电脑挂机锁如何设置 电脑挂机锁设置方法【图文】...
  14. 瑞萨e2studio(1)----瑞萨芯片之搭建FSP环境
  15. 张正友标定方法原文(翻译)
  16. Code For Better 谷歌开发者之声——初识Web与谷歌,拉起兴趣之心。
  17. crs 与RAC是什么关系,如何区分
  18. 绝对让你发抖的冷笑话20条
  19. 你需要提供管理员权限才能删除文件夹 win10删除文件需要管理员权限
  20. 星网宇达(惯导+IMU)设备实现自动采点

热门文章

  1. HDU 4394 BFS
  2. 【Android开发】App消息中心构建
  3. mysql 执行顺序 SQL语句执行顺序分析
  4. matlab 指数分布检验,如何使用Matlab检验数据服从什么分布
  5. 【EmguCV】EmguCV各种调用
  6. Google 出的C++轻量级日志库_GLog_了解_使用
  7. Deepin - 装机必备软件记录
  8. google earth pro无法链接服务器的问题
  9. AForge学习笔记(4):AForge.Genetic
  10. 贼好用,冰河再次升级了这款开源的精准定时任务和延时队列框架!!