js判断浏览器类型的方法


Posted in Javascript onAugust 07, 2013

代码如下:

var isIE=!!window.ActiveXObject; 
var isIE6=isIE&&!window.XMLHttpRequest; 
var isIE8=isIE&&!!document.documentMode; 
var isIE7=isIE&&!isIE6&&!isIE8; 
if (isIE){ 
    if (isIE6){ 
        alert(”ie6″); 
    }else if (isIE8){ 
        alert(”ie8″); 
    }else if (isIE7){ 
        alert(”ie7″); 
    } 
}

上述是一般常用的JavaScript用来检测浏览器为IE哪个版本的代码。

而由于今年1月一位俄国人,利用了IE与标准浏览器在处理数组的toString方法的差异,完美的利用6bytes:!-[1,]完成了对是否为IE浏览器的检测 。而之前最短代码为:!+”\v1″的7bytes。利用这些发现我们同样可以使我们的代码写的更短更有艺术。如今检测是否为IE6其实可以写成

!-[1,]&&!window.XMLHttpRequest

这个代码在实际使用中还是颇为有用的,既然能写的更短何乐而不为呢。相对于之前那大段累赘的分析navigator然后正则比较的方式当然效率更高,代码更简洁完全没有不用道理。在JavaScript编写过程中应该多多的利用诸如||、&&、!、!!这类的运算符,不光是在if()这样的情况下。

Javascript 相关文章推荐
JavaScript 异步调用框架 (Part 2 - 用例设计)
Aug 03 Javascript
javascript使用中为什么10..toString()正常而10.toString()出错呢
Jan 11 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
Jan 09 Javascript
再谈Javascript中的基本类型和引用类型(推荐)
Jul 01 Javascript
javascript实现多张图片左右无缝滚动效果
Mar 22 Javascript
js图片放大镜效果实现方法详解
Oct 28 Javascript
为Jquery EasyUI 组件加上清除功能的方法(详解)
Apr 13 jQuery
AngularJS实现tab选项卡的方法详解
Jul 05 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
Dec 20 Javascript
jQuery实现的点击按钮改变样式功能示例
Jul 21 jQuery
Vue起步(无cli)的啊教程详解
Apr 11 Javascript
flash调用js中的方法,让js传递变量给flash的办法及思路
Aug 07 #Javascript
图片上传判断及预览脚本的效果实例
Aug 07 #Javascript
Javascript alert消息换行的方法
Aug 07 #Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
Aug 06 #Javascript
javascript 获取模态窗口的滚动位置代码
Aug 06 #Javascript
JS this作用域以及GET传输值过长的问题解决方法
Aug 06 #Javascript
JS常见问题整理(持续更新)
Aug 06 #Javascript
You might like
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
2011/08/23 PHP
Smarty模板变量调节器用法分析
2016/05/23 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
jQuery Selector选择器小结
2010/05/06 Javascript
jquery 年会抽奖程序
2011/12/22 Javascript
JavaScript instanceof 的使用方法示例介绍
2013/10/23 Javascript
引用外部脚本时script标签关闭的写法
2014/01/20 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
js实现编辑div节点名称的方法
2014/12/17 Javascript
Javascript基础教程之比较操作符
2015/01/18 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
2016/06/13 Javascript
jQuery.Validate表单验证插件的使用示例详解
2017/01/04 Javascript
JS小数转换为整数的方法分析
2017/01/07 Javascript
详解Angular路由 ng-route和ui-router的区别
2017/05/22 Javascript
JQuery.dataTables表格插件添加跳转到指定页
2017/06/09 jQuery
vue mint-ui学习笔记之picker的使用
2017/10/11 Javascript
vuex actions传递多参数的处理方法
2018/09/18 Javascript
使vue实现jQuery调用的两种方法
2019/05/12 jQuery
JavaScript实现抖音罗盘时钟
2019/10/11 Javascript
微信小程序弹窗禁止页面滚动的实现代码
2020/12/30 Javascript
Python基于PyGraphics包实现图片截取功能的方法
2017/12/21 Python
VSCode下好用的Python插件及配置
2018/04/06 Python
Pyinstaller打包.py生成.exe的方法和报错总结
2019/04/02 Python
Python中format()格式输出全解
2019/04/12 Python
Python OS模块实例详解
2019/04/15 Python
Django框架静态文件处理、中间件、上传文件操作实例详解
2020/02/29 Python
TensorFlow固化模型的实现操作
2020/05/26 Python
详解python定时简单爬取网页新闻存入数据库并发送邮件
2020/11/27 Python
Html5应用程序缓存(Cache manifest)
2018/06/04 HTML / CSS
联想墨西哥官方网站:Lenovo墨西哥
2016/08/17 全球购物
毕业生大学生活自我总结
2014/01/31 职场文书
竞选大学学委演讲稿
2014/09/13 职场文书
教师党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
超市主管竞聘书
2015/09/15 职场文书