如何高效的用判断用js判断ie6
2015-03-17 10:26
127 查看
用js判断ie6的方法有很多,如:
1、
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");
}
}
2、能不能高效点呢,看到了其他的写法:
这个貌似是利用 IE 中 JScript所特有的条件编译(或曰条件注释)来区分 IE 和非 IE(这里的IE/非IE均是针对内核而言,以IE为内核的浏览器将视为IE)
复制代码代码如下:
var ie = 0/*@cc_on+1@*/;
复制代码
一个最短的 js 判断 ie 或非 ie 的代码,大小仅仅 7bytes:
复制代码代码如下:
var ie = !+'\v1';
复制代码
2010年1月,一位俄国人利用了IE与标准浏览器在处理数组的toString方法的差异,仅6bytes就完美完成了是否IE浏览器的检测:
复制代码代码如下:
var ie = !-[1,];
复制代码
利用这些发现,我们可以使代码写的更短。如今检测是否为 IE6 其实可以写成:
复制代码代码如下:
var ie6=!-[1,]&&!window.XMLHttpRequest;
复制代码
之前那大段累赘的分析 navigator,然后正则比较的方式,后面的 js 方法是不是效率更高了!
1、
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");
}
}
2、能不能高效点呢,看到了其他的写法:
这个貌似是利用 IE 中 JScript所特有的条件编译(或曰条件注释)来区分 IE 和非 IE(这里的IE/非IE均是针对内核而言,以IE为内核的浏览器将视为IE)
复制代码代码如下:
var ie = 0/*@cc_on+1@*/;
复制代码
一个最短的 js 判断 ie 或非 ie 的代码,大小仅仅 7bytes:
复制代码代码如下:
var ie = !+'\v1';
复制代码
2010年1月,一位俄国人利用了IE与标准浏览器在处理数组的toString方法的差异,仅6bytes就完美完成了是否IE浏览器的检测:
复制代码代码如下:
var ie = !-[1,];
复制代码
利用这些发现,我们可以使代码写的更短。如今检测是否为 IE6 其实可以写成:
复制代码代码如下:
var ie6=!-[1,]&&!window.XMLHttpRequest;
复制代码
之前那大段累赘的分析 navigator,然后正则比较的方式,后面的 js 方法是不是效率更高了!
相关文章推荐
- 用js判断用户浏览器是否是XP SP2的IE6
- 如何用js来判断浏览器类型(ie,firefox)等等
- JS中如何判断undefined
- [JS] - 判断IE6和IE7
- JS 中如何判断 undefined
- 如何在JS里取得两个数相除的整数和余数,那么如何判断一个数是整数呢?
- js如何判断一个对象是不是Array?
- js如何判断小数点后有几位?
- 用JS的正则表达式如何判断输入框内为中文或者是英文数字,或者是三者混编_乱码
- js判断浏览器类型 IE6和IE7和火狐
- js如何判断页面中是否有指定控件~~~
- js如何判断输入是否为正整数、浮点数等数字的函数
- 用JS如何判断文件上传的大小
- 如何在JS中判断页面上是否存在指定控件
- JS 中如何判断 undefined
- 如何在JS中判断文件大小
- 如何高效地判断奇数和偶数
- js如何判断输入是否为正整数、浮点数等数字的函数
- 如何用js来判断浏览器类型(ie,firefox)等等
- js如何判断输入是否为整数