最短的IE判断代码_javascript技巧

Code:
var ie = !+"\v1";
仅仅需要7bytes!参见这篇文章,《32 bytes, ehr ... 9, ehr ... 7!!! to know if your browser is IE》,讲述外国人是如何把IE的判定从32 bytes一步步缩简成7 bytes!的故事
但这纪录今年1月8日被一个俄国人打破了,现在只要6 bytes!它利用了IE与标准浏览器在处理数组的toString方法的差异做成的。对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它。
Code:

复制代码 代码如下:

var ie = !-[1,];
var ie = !-[1,];
alert(ie);

如果从非IE的角度判定,可以省一个比特,因为我们做兼容时,绝大多数情况都是IE与非IE地开工。
Code:

复制代码 代码如下:

var notIE = -[1,];
if(-[1,]){
alert("这不是IE浏览器!");
}else{
alert("这是IE浏览器!");
}

时间: 2024-11-14 23:01:11

最短的IE判断代码_javascript技巧的相关文章

解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码_javascript技巧

var ie = !-[1,]:     这句代码在IE9之前曾被称为世界上最短的IE判定代码.代码虽短但确包含了不少javascript基础知识在里面.在这个例子中代码执行时会先调用数组的toString()方法 ,执行[1,].toString()在IE6,7,8中将会得到"1,".然后表达式就变为!-"1,".再尝试把"1,"转换成数值类型得到NaN ,再对NaN取负得到值仍为NaN.最后执行!NaN返回true.下面通过分解这个语句来回顾

跨域表单提交状态的变相判断代码_javascript技巧

拐个弯想,如果开始可以获得iframe内部页面信息,那么不能获得的时候,不就说明表单已经提交了么~ 我们发现百度的竞价右下角信息,也是采用的这种方法判断的,大家可以参考下.示例: test.html: 复制代码 代码如下: <html> <head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head> <body s

js 多浏览器分别判断代码_javascript技巧

复制代码 代码如下: /* 浏览器判断 */ var userAgent = navigator.userAgent.toLowerCase(); var is_webtv = userAgent.indexOf('webtv') != -1; var is_kon = userAgent.indexOf('konqueror') != -1; var is_mac = userAgent.indexOf('mac') != -1; var is_saf = userAgent.indexOf(

js chrome浏览器判断代码_javascript技巧

早期我给出的判定是基于UA,在UA中它有一个独一无二的Chrome字符串. 复制代码 代码如下: var isChrome = window.navigator.userAgent.indexOf("Chrome") !== -1 今天发现chrome还是有一些独一无二的东西,基于它们,我们就可以搞出基于特征的判定了. 复制代码 代码如下: var isChrome = window.google && window.chrome 这两个东西,前者拥有其本地数据库gea

javascript browser浏览器类型以及版本判断代码_javascript技巧

return (Array)borwser 比如当前浏览器类型是ie6.0,那么borwser的值应该是["ie","6","6.0"] 数组的第一个值表示浏览器的类型,第二个值表示浏览器的大版本,第三个值表示浏览器的详细版本号. 复制代码 代码如下: /** * @author sky */ var browser = function() { //默认为ie6 var _a = ["ie", "6",

JavaScript 密码强度判断代码_javascript技巧

复制代码 代码如下: <script type="text/javascript"> //CharMode函数 //测试某个字符是属于哪一类. function CharMode(iN){ if (iN>=48 && iN <=57) //数字 return 1; if (iN>=65 && iN <=90) //大写字母 return 2; if (iN>=97 && iN <=122)

JavaScript 页面编码与浏览器类型判断代码_javascript技巧

获取页面的编码,如果是IE浏览器用document.charset即可获取,如果用firefox需要用document.characterSet获取. 复制代码 代码如下: function getPageCharset(){ var charSet = ""; var oType = getBrowser(); switch(oType){ case "IE": charSet = document.charset; break; case "FIREF

JS判断客户端是手机还是PC的2个代码_javascript技巧

1.第一种: 复制代码 代码如下: function IsPC() {    var userAgentInfo = navigator.userAgent;    var Agents = ["Android", "iPhone",                "SymbianOS", "Windows Phone",                "iPad", "iPod"]; 

js判断浏览器类型,版本的代码(附多个实例代码)_javascript技巧

在网站前端开发中,浏览器兼容性问题本已让我们手忙脚乱,Chrome的出世不知道又要给我们添多少乱子.浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本. JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本.JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另一种是通过分析浏览器的userAgent属性来判断的.在许多情况下,值判断出浏览器类型之后,还需判