最短的IE判断代码
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浏览器!");
}
相关推荐
-
js 全世界最短的IE浏览器判断代码
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引擎会
-
最短的IE判断var ie=!-[1,]分析
以前最短的IE判定借助于IE不支持垂直制表符的特性搞出来的. 复制代码 代码如下: 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与标准浏览器在处理数组的toStr
-
解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码
var ie = !-[1,]: 这句代码在IE9之前曾被称为世界上最短的IE判定代码.代码虽短但确包含了不少javascript基础知识在里面.在这个例子中代码执行时会先调用数组的toString()方法 ,执行[1,].toString()在IE6,7,8中将会得到"1,".然后表达式就变为!-"1,".再尝试把"1,"转换成数值类型得到NaN ,再对NaN取负得到值仍为NaN.最后执行!NaN返回true.下面通过分解这个语句来回顾下代码中
-
一个奇葩的最短的 IE 版本判断JS脚本
使用 conditional comment 来判断 IE 的版本.嗯,是早早有人提出,但没有认真看代码.昨天刚好在看 CSS3 PIE 的时候看到,觉得是不是不靠谱.今天看到 Paul Irish 也提起,那么,推荐一下吧.这是作者博客上写的: 复制代码 代码如下: // ----------------------------------------------------------// A short snippet for detecting versions of IE in Jav
-
最短的IE判断代码
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代码
我们知道JavaScript提供了typeof运算符,因此最容易想到的是用typeof来判断是否是number类型 function isNumber(obj) { return typeof obj === 'number' } 这个函数对于整数和浮点数都没有问题,但对于NaN值也返回true这让人感到不爽,毕竟用isNumber判断通过后谁也不会用NaN去做算术运算. 那改进一下,用Object.prototype.toString试试 function isNumber(obj) { re
-
跨域表单提交状态的变相判断代码
拐个弯想,如果开始可以获得iframe内部页面信息,那么不能获得的时候,不就说明表单已经提交了么~ 我们发现百度的竞价右下角信息,也是采用的这种方法判断的,大家可以参考下.示例: test.html: 复制代码 代码如下: <html> <head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head> <body s
-
python 双循环遍历list 变量判断代码
我就废话不多说了,大家还是直接看代码吧! file1 = 'C:\\Users\\Administrator\\Desktop\\test\\ALL.txt' file2 = 'C:\\Users\\Administrator\\Desktop\\test\\little.txt' ALLlist = [] Demondlist = [] with open(file1, "r") as f1: text1 = f1.read() with open(file2, "r&qu
-
各种语言常用的一句话判断代码
判断汉字 复制代码 代码如下: if (System.Text.Encoding.GetEncoding("gb2312").GetBytes("中").Length == 2) // C# if (escape(str).indexOf("%u") < 0) // JavaScript 判断数字 复制代码 代码如下: Number.as(v) // ezj Number.asInt(v) // ezj 判断整数 判断纯数字 复制代码 代码
-
js 多浏览器分别判断代码
复制代码 代码如下: /* 浏览器判断 */ 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(
-
php 来访国内外IP判断代码并实现页面跳转
我大概构思了一下,有两个方案: 1. Javascript判断来访者的浏览器语言,如果是中文系统,自然使用者都是中国人,跳中文网站: 如果是非中文系统,默认使用者非中国人,跳英文网站. 优点:判断反映速度快. 缺点:不准确,有可能中国用户喜欢用英文版系统,或者外国人使用中文系统的情况. 代码 <script type="text/javascript" language="javascript"> var Browser_Agent=navigator.
随机推荐
- 浅谈chuck-lua中的多线程
- 数据库设计技巧奉送了
- sql server 2012安装程序图集
- ASP.NET实现TreeView的XML数据源绑定实例代码
- php Static关键字实用方法
- C++类继承之子类调用父类的构造函数的实例详解
- android将图片转换存到数据库再从数据库读取转换成图片实现代码
- 可以用鼠标拖动的DIV实现思路及代码
- php解决DOM乱码的方法示例代码
- 管理员登录设计(第7节)
- microsoft.exe病毒与清除方法
- SQL Server误区30日谈 第21天 数据损坏可以通过重启SQL Server来修复
- mysql命令行还原phpMyAdmin导出的含有中文的SQL文件
- Android 加密解密字符串详解
- C++实现单链表删除倒数第k个节点的方法
- Android实现新增及编辑联系人的方法
- 浅谈Android为RecyclerView增加监听以及数据混乱的小坑
- 23种设计模式(3) java原型模式
- go for range坑和闭包坑的分析
- 如何搭建一个完整的Java开发环境