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引擎会自动剔除它。详见这里 恭喜你,Aleko ,你真是我的偶像!
var ie = !-[1,];
var ie = !-[1,];
alert(ie);
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
如果从非IE的角度判定,可以省一个比特,因为我们做兼容时,绝大多数情况都是IE与非IE地开工。
var notIE = -[1,];
if(-[1,]){
alert("这不是IE浏览器!");
}else{
alert("这是IE浏览器!");
}
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
相关推荐
-
用js判断浏览器是否是IE的比较好的办法
一般常用方法是document.all if(document.all){ //IE代码 }else{ //其他 } 其实这么做不够,document.all能区分出FireFox,却无法区分Opera,因为Opera支持document.all. 我现在的做法是: var isIE = document.all && window.external; ... Opera不支持window.external,所以这么做就比较保险了.
-
利用js判断浏览器类型(是否为IE,Firefox,Opera浏览器)
现在的浏览器大概有好几种,各个人的喜好也不同,所以也就用着不同的浏览器!我们开发的人来说经常要加个判断,要不可能某些功能没法正常使用.要是没加个判断就会给大家带来些麻烦!虽然可能大家的喜好不同!用的系统也不同!有人喜欢用ie, firefox,还有人喜欢用腾讯tt,maxthon等等.虽然名字可能有很多种,但是内核我们知道下就没问题了.如IE内核的:IE,maxthon,tt都是.当然还有netscape内核!看大家怎么去判断! 由于在开发时碰上这个问题.于是找了下资料和自己总结如下JS代码:
-
js ie非ie浏览器的几种判断方法小结
最近在 司徒正美js 全世界最短的IE浏览器判断代码 一文,看到只有6byte的判断ie与非ie的方法.其代码如下: if(!+[1,])alert("这是ie浏览器"); else alert("这不是ie浏览器"); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 其实有很多判断的方法,大都是根据浏览器的特性来的. 比如库prototype的方法是:!!(window.attachEvent && navigator.userAgen
-
js判断当前浏览器类型,判断IE浏览器方法
最短IE判断方法,原文地址: http://www.jb51.net/article/23621.htm 判断IE浏览器最短方法:var isIE = !-[1,] 原理:[1,]在标准浏览器中返回"1",相当于调用[1,].toString(),在IE中返回"1,"在这个时候对返回值使用负号强制转换为数字时,标准浏览器返回1,IE则返回NaN,再对1和NaN取反时,标准浏览器返回false,IE返回true. js判断浏览器类型 原文基本上没有什么问题,但他的判断
-
js代码判断浏览器种类IE、FF、Opera、Safari、chrome及版本
因为ie10-ie11的版本问题,不再支持document.all判断,所以ie判断函数要重新写了 function isIE() { //ie? if (!!window.ActiveXObject || "ActiveXObject" in window) return true; else return false; } 第一种,只区分浏览器,不考虑版本 复制代码 代码如下: function myBrowser(){ var userAgent = navigator.
-
IE及IE6浏览器中判断JS文件加载成功失败的方法
浏览器的文件加载实际上是有非常纠结的兼容问题的.最近看到@lifesinger做了一个具体的总结.这里比较麻烦的是IE6~8不区分加载成功或失败,都走一个回调.在网上看了一种解决方案是,在加载文件的最后置一个全局变量或改变标签的属性来区分,这样成功与否就通过这个标志位判断.但显然不太完美,还要改加载文件. 后来尝试另一种思路,先创建一个vbscript,src置成一个JS文件,如这个文件加载正常,肯定会报错否则不会有反应.这样如果window.onerror捕获到错误了,说明文件有效,再正常加载
-
用js判断用户浏览器是否是XP SP2的IE6
由于Windows XP的补丁SP2,对IE6的安全性也做了很多的提升,使得有不少原来我们可以使用的功能,会变得很奇怪甚至歇菜掉:(.特别是弹出窗口.模态窗口和Popup窗口等受的影响相当大.那么我能不能判断用户使用的IE6是普通IE6(IE6sp1)还是IE6+xp sp2呢? 下面是两个比较典型的IE6浏览器UserAgent字段: 1.Windows XP + SP1 (NT 5.1) Connection: Keep-Alive Accept: */* Accept-Encoding:
-
js判断浏览器类型为ie6时不执行
js判断浏览器类型 $.browser 对象$.browser.version 浏览器版本 复制代码 代码如下: var binfo = ''; if ($.browser.msie) { binfo = "Microsoft Internet Explorer " + $.browser.version; } else if ($.browser.mozilla) { binfo = "Mozilla Firefox " + $.browser.version;
-
原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
熟悉jq的朋友可能会偶尔用到判定当前浏览器是否为ie,甚至是具体到ie哪个版本.比如说判定当前浏览器是ie7 ,写法如下: if($.browser.msie && $.browser.version==7){ //ie7下执行该区域代码 } 原生js,仿jq写法,具体实现代码: <script> var browser = (function(){ var isIE6 = /msie 6/i.test(navigator.userAgent); var isIE7 = /ms
-
ExtJS判断IE浏览器类型的方法
代码在ext里的src\core\ext.js下 最新的ext3.0beat1的代码如下: 复制代码 代码如下: ua = navigator.userAgent.toLowerCase(), check = function(r){ return r.test(ua); }, isStrict = document.compatMode == "CSS1Compat", isOpera = check(/opera/), isChrome = check(/chrome/), isW
-
JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
今天在写一个代码复制功能的时候,发现的这个问题,ie11也不支持document.all,看来以后越来越标准了 今天碰到一个奇怪的问题,有一个页面,想指定用IE浏览器打开,在VS开发环境没有问题,但部署到服务器上,即使是用IE打开页面,还是提示"仅支持IE",真是晕啊!! 判断是否IE浏览器用的是window.navigator.userAgent,跟踪这个信息,发现在开发环境,识别为IE10,但访问服务器则识别为IE11,但IE11的userAgent里是没有MSIE标志的,原因就是
-
javascript判断ie浏览器6/7版本加载不同样式表的实现代码
关键点:1.对浏览器版本的判断:2.修改样式表路径 其中第二点也常用在实时修改网页模板.论坛风格的场合,实际上就是修改样式表路径来加载不同的样式表. 代码: 复制代码 代码如下: <script type="text/javascript"> var browser=navigator.appName var b_version=navigator.appVersion var version=b_version.split(";"); try{ //代
-
js判断IE浏览器版本过低示例代码
弄了个很简单的例子判断IE浏览器版本是否过低 例子结构如下,其实一个页面加引入jquery就可以了,顺便弄了个标准结构(注意在IE6和IE7版本较低情况下下才看到它的提示效果) 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <h
-
JavaScript中一个奇葩的IE浏览器判断方法
记得在网上Down的很多源码用的最多的一种方式就是: 复制代码 代码如下: var ie = document.all(); 这是因为IE浏览器的document下有all方法,而所谓的标准浏览器却没有,所以很长的一段时间,这个是一种非常普遍的方法.在之后大家开始追求起简短,就像在这之后一度流行的一种方法: 复制代码 代码如下: var ie = ! + "\v1"; 这个是利用IE不支持垂直制表符的特性而判别的,仅仅7个字符已经很让人震惊了,可是这个记录被一个俄国人在今年早些的时候打
随机推荐
- 九宫格的含义 横竖斜三个数相加都等于15
- windows下配置两个或多个Tomcat启动的方法
- php微信公众平台配置接口开发程序
- android开发教程之ubuntu使用adb连接小米2的步骤和adb调试方法
- Python的装饰器用法学习笔记
- Python中的推导式使用详解
- ASP生成柱型体,折线图,饼图源代码
- 基于Kubernetes和Docke实现留言簿案例
- jQuery通过写入cookie实现更换网页背景的方法
- htm页面中<a name>加name和id的冲突附解决方法
- jQuery中bind()方法用法实例
- javascript面向对象之定义成员方法实例分析
- JavaScript设计模式开发中组合模式的使用教程
- 兼容性非常好的js右下角与漂浮广告代码
- Url相对路径的问题总结
- Maven的国内镜像(快速解决jar下载过慢的问题)
- Java文件(io)编程之记事本开发详解
- java发送http的get、post请求实现代码
- 详解Spring注解--@Autowired、@Resource和@Service
- IOS获取指定年月的当月天数