javascript判断IE浏览器最简单的方法

来源:互联网 发布:ubuntu卸载搜狗拼音 编辑:程序博客网 时间:2024/05/16 18:11

对于前端工程师来说,IE浏览器肯定是最头疼的,各种兼容,一个事件的添加都不一样,如何快速简单的判断是否是IE浏览器,是一个值得思考的问题,闲来无事,判断下IE。


在IE中数组的处理也是不一样的,

var arr = [1,];

在IE中,这是一个两个元素的数组,第一个元素为1;第二个元素为‘’,即空字符串;这个arr.length自然为2;

而在标准的浏览器,即除IE之外的浏览器中,这是一个包含一个元素的数组,该元素的值为1;


那么,咱们判断是否是IE浏览器就可以在这做文章了:


分别在IE和标准浏览器中运行-arr,运行结果是:

IE中是NaN,因为在IE中是两个元素,arr.toString()的运行结果是‘1,’,然后转为数字的时候,就是个NaN,即运行Number(arr)的结果是NaN;

在标准浏览器中,arr是一个元素,arr.toString()的运行结果是‘1’,转为数字的结果是1,即运行Number(arr)的结果是1;

所以咱们可以根据这个NaN来判断是否是IE浏览器,如何将这个arr转换为数字呢,这就是一个问题了,

正好,正负号可以解决这个问题,运行+arr:

IE:NaN;标准浏览器:1

接下来,已经看到了一点眉目了,

NaN转化为boolean类型是false;而1转化为boolean类型是ture;


判断IE浏览器的方法就是:!+arr;IE下这个运行结果是ture;标准浏览器下运行结果是false,


直接罗代码:

if(!+[1,]){

//do something ie

}else{

//do something 标准浏览器

}





1 0
原创粉丝点击