js判断当前浏览器类型,判断IE浏览器方法


Posted in Javascript onJune 02, 2014

最短IE判断方法,原文地址: https://3water.com/article/23621.htm

判断IE浏览器最短方法:var isIE = !-[1,]

原理:[1,]在标准浏览器中返回"1",相当于调用[1,].toString(),在IE中返回"1,"
在这个时候对返回值使用负号强制转换为数字时,标准浏览器返回1,IE则返回NaN,
再对1和NaN取反时,标准浏览器返回false,IE返回true。

js判断浏览器类型

原文基本上没有什么问题,但他的判断方式还不是很严谨。

如:navigator.userAgent.indexOf("Safari")>0,如果"Safari"这个单词出现在userAgent的最前端,那不是就无法得到正确的结果了。应该把 >0 改为 !=-1
然后我对我机子上现有的5个独立内核浏览器做了下测试,发现Opera的userAgent值为"Opera/9.80 (Windows NT 5.1; U; Ed..."
正好印证了刚刚说的。
其实大多时候我们在做浏览器兼容时主要是针对 IE 和 非IE 浏览器,也就是说一般情况下只需要判断是否是IE浏览器即可。
判断当前浏览器类型代码

<script type="text/javascript" >
    <!-- 
function getOs() 
{ 
    var OsObject = ""; 
   if(isIE = navigator.userAgent.indexOf("MSIE")!=-1) { 
        return "MSIE"; 
   } 
   if(isFirefox=navigator.userAgent.indexOf("Firefox")!=-1){ 
        return "Firefox"; 
   } 
   if(isChrome=navigator.userAgent.indexOf("Chrome")!=-1){ 
        return "Chrome"; 
   } 
   if(isSafari=navigator.userAgent.indexOf("Safari")!=-1) { 
        return "Safari"; 
   }  
   if(isOpera=navigator.userAgent.indexOf("Opera")!=-1){ 
        return "Opera"; 
   } } 
 alert("type -> "+getOs());
--> 
</script>
Javascript 相关文章推荐
JAVASCRIPT对象及属性
Feb 13 Javascript
jquery ajax同步异步的执行最终解决方案
Apr 26 Javascript
Bootstrap每天必学之标签与徽章
Nov 27 Javascript
jqPlot jQuery绘图插件的使用
Jun 18 Javascript
基于JS实现checkbox全选功能实例代码
Oct 31 Javascript
js控制文本框禁止输入特殊字符详解
Apr 07 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
Apr 21 jQuery
node.js操作mysql简单实例
May 25 Javascript
JS和JQuery实现雪花飘落效果
Nov 30 jQuery
vue项目优化之通过keep-alive数据缓存的方法
Dec 11 Javascript
element-ui 表格实现单元格可编辑的示例
Feb 26 Javascript
原生JS使用Canvas实现拖拽式绘图功能
Jun 05 Javascript
php+js实现倒计时功能
Jun 02 #Javascript
node.js应用后台守护进程管理器Forever安装和使用实例
Jun 01 #Javascript
node.js入门教程
Jun 01 #Javascript
什么是Node.js?Node.js详细介绍
Jun 01 #Javascript
基于iframe实现类似于ajax的页面无刷新
May 31 #Javascript
通过Jquery的Ajax方法读取将table转换为Json
May 31 #Javascript
jQuery移除元素自动解绑事件实现思路及代码
May 31 #Javascript
You might like
Linux中用PHP判断程序运行状态的2个方法
2014/05/04 PHP
phpMyAdmin无法登陆的解决方法
2017/04/27 PHP
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
javascript进行四舍五入方法汇总
2014/12/16 Javascript
JavaScript不使用prototype和new实现继承机制
2014/12/29 Javascript
JS 作用域与作用域链详解
2015/04/07 Javascript
js图片跟随鼠标移动代码
2015/11/26 Javascript
JavaScript实现页面定时刷新(定时器,meta)
2016/10/12 Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
2016/12/13 Javascript
一个有意思的鼠标点击文字特效jquery代码
2017/09/23 jQuery
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
2种在vue项目中使用百度地图的简单方法
2018/09/28 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
2018/11/05 Javascript
vue 详情跳转至列表页实现列表页缓存
2019/03/27 Javascript
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
python中的列表推导浅析
2014/04/26 Python
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
Vue的el-scrollbar实现自定义滚动
2018/05/29 Python
对Python协程之异步同步的区别详解
2019/02/19 Python
pycharm 批量修改变量名称的方法
2019/08/01 Python
django将网络中的图片,保存成model中的ImageField的实例
2019/08/07 Python
pycharm专业版远程登录服务器的详细教程
2020/09/15 Python
python产生模拟数据faker库的使用详解
2020/11/04 Python
个人找工作的自我评价
2013/10/17 职场文书
2013年大学生的自我鉴定
2013/10/24 职场文书
数控机械专业个人的自我评价
2014/01/02 职场文书
市场营销管理制度
2014/01/29 职场文书
生物科学专业职业规划书范文
2014/02/11 职场文书
检举信的格式及范文
2014/04/04 职场文书
厨房管理计划书
2014/04/27 职场文书
高中课程设置方案
2014/05/28 职场文书
小学生民族团结演讲稿
2014/08/27 职场文书
交通事故死亡赔偿协议书
2014/12/03 职场文书
2015年度培训工作总结范文
2015/04/02 职场文书
上下班时间调整通知
2015/04/23 职场文书
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript