最短的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
-
一个奇葩的最短的 IE 版本判断JS脚本
使用 conditional comment 来判断 IE 的版本.嗯,是早早有人提出,但没有认真看代码.昨天刚好在看 CSS3 PIE 的时候看到,觉得是不是不靠谱.今天看到 Paul Irish 也提起,那么,推荐一下吧.这是作者博客上写的: 复制代码 代码如下: // ----------------------------------------------------------// A short snippet for detecting versions of IE in Jav
-
解读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判断代码
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.
随机推荐
- spring boot在启动项目之后执行的实现方法
- asp.net下Linq To Sql注意事项小结
- JavaScript中push(),join() 函数 实例详解
- Asp.Net Core轻量级Aop解决方案:AspectCore
- 详解PHP中的PDO类
- Python连接数据库学习之DB-API详解
- Android中的SQL查询语句LIKE绑定参数问题解决办法(sqlite数据库)
- node.js中的fs.open方法使用说明
- Java Comparable 和 Comparator 的详解及区别
- SQL语句分组获取记录的第一条数据的方法
- Android实现沉浸式状态栏
- jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
- 解决ajax异步请求返回的是字符串问题
- 小程序图片剪裁加旋转的示例代码
- 微信小程序实现动态获取元素宽高的方法分析
- vue组件横向树实现代码
- 深入了解javascript 数组的sort方法
- springboot整合通用Mapper简化单表操作详解
- Smarty模板配置实例简析
- php根据地址获取百度地图经纬度的实例方法