JavaScript中一个奇葩的IE浏览器判断方法


Posted in Javascript onApril 16, 2014

记得在网上Down的很多源码用的最多的一种方式就是:

var ie = document.all();

这是因为IE浏览器的document下有all方法,而所谓的标准浏览器却没有,所以很长的一段时间,这个是一种非常普遍的方法。
在之后大家开始追求起简短,就像在这之后一度流行的一种方法:
var ie = ! + "\v1";

这个是利用IE不支持垂直制表符的特性而判别的,仅仅7个字符已经很让人震惊了,可是这个记录被一个俄国人在今年早些的时候打破了,人家只需要6个字符就可以搞定了。
我们暂且不讨论这一个字符能够做什么,但把它看作是一种研究,或者你说他是闲的那啥痛也行(吐槽~)。
var ie = ! - [1,];

其实它的原理很简单,[1,]在标准浏览器会返回字符串"1",相当于调用[1,].toString,IE则返回"1,"。但是这样IE与标准都会通过检测,因此使用负号强制转换为数字,标准能成功转换为1,1会在if中自动转换为true,而IE则转换为NaN,再自动转换为false!查看DEMO。
很简单对吧?肯定会有很多人跟我一样在想,我怎么就没想到呢?是啊,我怎么就没想到呢?(笑~)
Javascript 相关文章推荐
javascript 火狐(firefox)不显示本地图片问题解决
Jul 05 Javascript
struts2 jquery 打造无限层次的树
Oct 23 Javascript
js过滤数组重复元素的方法
Sep 05 Javascript
JS验证身份证有效性示例
Oct 11 Javascript
调用jQuery滑出效果时闪烁的解决方法
Mar 27 Javascript
Javascript获取CSS伪元素属性的实现代码
Sep 28 Javascript
JavaScript中常用的验证reg
Oct 13 Javascript
基于JavaScript实现前端文件的断点续传
Oct 17 Javascript
JS实现的简单轮播图运动效果示例
Dec 22 Javascript
Vue.js实现一个todo-list的上移下移删除功能
Jun 26 Javascript
使用JavaScript实现一个小程序之99乘法表
Sep 21 Javascript
浅谈webpack4 图片处理汇总
Sep 12 Javascript
JavaScript面向对象编程入门教程
Apr 16 #Javascript
jQuery的cookie插件实现保存用户登陆信息
Apr 15 #Javascript
jquery实现点击文字可编辑并修改保存至数据库
Apr 15 #Javascript
jQuery制作的别致导航有阴影背景高亮模式窗口
Apr 15 #Javascript
JS比较2个日期间隔的示例代码
Apr 15 #Javascript
模拟一个类似百度google的模糊搜索下拉列表
Apr 15 #Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
Apr 15 #Javascript
You might like
PHP Warning: Module 'modulename' already loaded in问题解决办法
2015/03/16 PHP
laravel添加前台跳转成功页面示例
2019/10/22 PHP
jQuery.extend 函数详解
2012/02/03 Javascript
使用JS获取当前地理位置方法汇总
2014/12/18 Javascript
js的toUpperCase方法用法实例
2015/01/27 Javascript
JS高仿抛物线加入购物车特效实现代码
2017/02/20 Javascript
微信小程序 页面传值详解
2017/03/10 Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
2018/01/18 Javascript
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
jQuery实现checkbox全选功能完整实例
2018/07/12 jQuery
vue项目中使用lib-flexible解决移动端适配的问题解决
2018/08/23 Javascript
vue组件tabbar使用方法详解
2018/11/06 Javascript
vue下使用nginx刷新页面404的问题解决
2019/08/02 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
2019/09/18 Javascript
在weex中愉快的使用scss的方法步骤
2020/01/02 Javascript
python实现ip查询示例
2014/03/26 Python
Python3之读取连接过的网络并定位的方法
2018/04/22 Python
python 实时得到cpu和内存的使用情况方法
2018/06/11 Python
python学生管理系统学习笔记
2019/03/19 Python
pybind11在Windows下的使用教程
2019/07/04 Python
python 字典的打印实现
2019/09/26 Python
Python pip 安装与使用(安装、更新、删除)
2019/10/06 Python
Python的缺点和劣势分析
2019/11/19 Python
中国领先的专业家电网购平台:国美在线
2016/12/25 全球购物
三星法国官方网站:Samsung法国
2019/10/31 全球购物
机械设计专业应届生求职信
2013/11/21 职场文书
客服部工作职责范本
2014/02/14 职场文书
档案信息化建设方案
2014/05/16 职场文书
学校百日安全生产活动总结
2014/07/05 职场文书
学校食品安全责任书
2015/01/29 职场文书
综治目标管理责任书
2015/05/11 职场文书
民间借贷被告代理词
2015/05/23 职场文书
现货白银电话营销话术
2015/05/29 职场文书
新郎父母婚礼致辞
2015/07/27 职场文书
2016年区委书记抓基层党建工作公开承诺书
2016/03/25 职场文书
2016年企业安全生产月活动总结
2016/04/06 职场文书