最短JS判断是否为IE6(!-[1,]&&!window.XMLHttpRequest)(转)

常用的 JavaScript 检测浏览器为 IE 是哪个版本的代码,包括是否是最人极端厌恶的 ie6 识别与检测。

 1 var isIE=!!window.ActiveXObject;
 2 var isIE6=isIE&&!window.XMLHttpRequest;
 3 var isIE8=isIE&&!!document.documentMode;
 4 var isIE7=isIE&&!isIE6&&!isIE8;
 5 if (isIE){
 6   if (isIE6){
 7     alert("ie6");
 8   }else if (isIE8){
 9    alert("ie8");
10   }else if (isIE7){
11     alert("ie7");
12   }
13 }

然后是一个稍微短的 js 判断是否 ie 的方法:
这个貌似是利用 IE 中 JScript所特有的条件编译(或曰条件注释)来区分 IE 和非 IE(这里的IE/非IE均是针对内核而言,以IE为内核的浏览器将视为IE)

1 var ie = 0/*@[email protected]*/;

一个最短的 js 判断 ie 或非 ie 的代码,大小仅仅 7bytes:

1 var ie = !+‘\v1‘;

2010年1月,一位俄国人利用了IE与标准浏览器在处理数组的toString方法的差异,仅6bytes就完美完成了是否IE浏览器的检测:

1 var ie = !-[1,];

利用这些发现,我们可以使代码写的更短。如今检测是否为 IE6 其实可以写成:

1 var ie6=!-[1,]&&!window.XMLHttpRequest;

时间: 2024-11-06 07:40:04

最短JS判断是否为IE6(!-[1,]&&!window.XMLHttpRequest)(转)的相关文章

最短JS判断是否为IE6(IE的写法)

常用的 JavaScript 检测浏览器为 IE 是哪个版本的代码,包括是否是最人极端厌恶的 ie6 识别与检测.代码如下: 1 var isIE=!!window.ActiveXObject; 2 var isIE6=isIE&&!window.XMLHttpRequest; 3 var isIE8=isIE&&!!document.documentMode; 4 var isIE7=isIE&&!isIE6&&!isIE8; 5 if (

最短JavaScript判断是否为IE6、IE的方法

常用的 JavaScript 检测浏览器为 IE 是哪个版本的代码,包括是否是最人极端厌恶的 ie6 识别与检测. var isIE=!!window.ActiveXObject; var isIE6=isIE&&!window.XMLHttpRequest; var isIE8=isIE&&!!document.documentMode; var isIE7=isIE&&!isIE6&&!isIE8; if (isIE){ if (isIE

如何高效的用判断用js判断ie6

用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

PHP和JS判断浏览器是微信还是支付宝

PHP代码 if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) { return 'WeiXin'; } //判断是不是支付宝 if (strpos($_SERVER['HTTP_USER_AGENT'], 'AlipayClient') !== false) { return "AliPay"; } JS判断 function WxOrAli(){ var ua = window.navigat

js判断IE6(推荐方法一)

不得不使用判断的方法 //方法1:推荐 if ( /MSIE 6/.test(navigator.userAgent)){ } //方法2: if ( navigator.appVersion.indexOf("MSIE 6")>-1){ } //方法3:检查浏览器能力来判断是否是IE6 if ( !!window.ActiveXObject&&!window.XMLHttpRequest){ } //方法4:在jQuery1.9中将完全移除该方法 if ($.b

js 判断window操作系统 2种方法

js 判断window操作系统 1function detectOS() { var sUserAgent = navigator.userAgent; var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows"); var isMac = (navigator.platform == "Mac68K") || (navigator.platfor

js 判断浏览器关闭事件 兼容所有浏览器

无论是从页签处关闭浏览器,还是关闭整个浏览器窗口,无论是 ie11,火狐,谷歌,苹果,还是ie6,都能兼容的浏览器关闭事件监听 在网上搜索了一天,虽然网上也有之类的代码,但是太繁琐,有时候还不可用.我也是在原有基础上修改的.经过了上述的浏览器测试,如果有不兼容的,欢迎提出意见一起学习. ? <script type="text/jscript" src="jquery-1.10.2.min.js"></script> <script t

js实现跨域(jsonp, iframe+window.name, iframe+window.domain, iframe+window.postMessage)

一.浏览器同源策略 首先我们需要了解一下浏览器的同源策略,关于同源策略可以仔细看看知乎上的一个解释.传送门 总之:同协议,domain(或ip),同端口视为同一个域,一个域内的脚本仅仅具有本域内的权限,可以理解为本域脚本只能读写本域内的资源,而无法访问其它域的资源.这种安全限制称为同源策略. ( 现代浏览器在安全性和可用性之间选择了一个平衡点.在遵循同源策略的基础上,选择性地为同源策略"开放了后门". 例如img script style等标签,都允许垮域引用资源.) 下表给出了相对 

YJ智能框架--JS判断浏览器类型及版本

YJ智能框架--JS判断浏览器类型及版本以下 1 /** 2 * 判断用的是那个浏览器,操作系统,浏览器使用的内核 3 */ 4 (function() { 5 var ua = navigator.userAgent || ""; 6 YJ.browser = ""; 7 if (document.recalc || document.documentMode) { 8 YJ.browser = "ie"; 9 } 10 if (window.