ExtJS判断IE浏览器类型的方法


Posted in Javascript onFebruary 10, 2014

代码在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/), 
isWebKit = check(/webkit/), 
isSafari = !isChrome && check(/safari/), 
isSafari3 = isSafari && check(/version\/3/), 
isSafari4 = isSafari && check(/version\/4/), 
isIE = !isOpera && check(/msie/), 
isIE7 = isIE && check(/msie 7/), 
isIE8 = isIE && check(/msie 8/), 
isGecko = !isWebKit && check(/gecko/), 
isGecko3 = isGecko && check(/rv:1\.9/), 
isBorderBox = isIE && !isStrict, 
isWindows = check(/windows|win32/), 
isMac = check(/macintosh|mac os x/), 
isAir = check(/adobeair/), 
isLinux = check(/linux/), 
isSecure = /^https/i.test(window.location.protocol);

而2.2.1下(在source\core\ext.js里)的为
var ua = navigator.userAgent.toLowerCase(); 
var isStrict = document.compatMode == "CSS1Compat", 
isOpera = ua.indexOf("opera") > -1, 
isChrome = ua.indexOf("chrome") > -1, 
isSafari = !isChrome && (/webkit|khtml/).test(ua), 
isSafari3 = isSafari && ua.indexOf('webkit/5') != -1, 
isIE = !isOpera && ua.indexOf("msie") > -1, 
isIE7 = !isOpera && ua.indexOf("msie 7") > -1, 
isIE8 = !isOpera && ua.indexOf("msie 8") > -1, 
isGecko = !isSafari && !isChrome && ua.indexOf("gecko") > -1, 
isGecko3 = isGecko && ua.indexOf("rv:1.9") > -1, 
isBorderBox = isIE && !isStrict, 
isWindows = (ua.indexOf("windows") != -1 || ua.indexOf("win32") != -1), 
isMac = (ua.indexOf("macintosh") != -1 || ua.indexOf("mac os x") != -1), 
isAir = (ua.indexOf("adobeair") != -1), 
isLinux = (ua.indexOf("linux") != -1), 
isSecure = window.location.href.toLowerCase().indexOf("https") === 0;
Javascript 相关文章推荐
js关闭当前页面(窗口)的几种方式总结
Mar 05 Javascript
js实现倒计时(距离结束还有)示例代码
Jul 24 Javascript
JQuery中extend使用介绍
Mar 13 Javascript
jQuery修改CSS伪元素属性的方法
Jul 30 Javascript
JavaScript知识点总结(四)之逻辑OR运算符详解
May 31 Javascript
jquery获取下拉框中的循环值
Feb 08 Javascript
重新理解JavaScript的六种继承方式
Mar 24 Javascript
详解Angular4中路由Router类的跳转navigate
Jun 09 Javascript
Vue2.0 vue-source jsonp 跨域请求
Aug 04 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
Sep 27 Javascript
浅谈vue中get请求解决传输数据是数组格式的问题
Aug 03 Javascript
nestjs返回给前端数据格式的封装实现
Feb 22 Javascript
利用js读取动态网站从服务器端返回的数据
Feb 10 #Javascript
解决jquery操作checkbox火狐下第二次无法勾选问题
Feb 10 #Javascript
js判断undefined类型示例代码
Feb 10 #Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
Feb 10 #Javascript
js网页实时倒计时精确到秒级
Feb 10 #Javascript
js格式化时间和js格式化时间戳示例
Feb 10 #Javascript
javaScript 页面自动加载事件详解
Feb 10 #Javascript
You might like
多文件上载系统完整版
2006/10/09 PHP
PHP连接MYSQL数据库实例代码
2016/01/20 PHP
浅谈PHP正则中的捕获组与非捕获组
2016/07/18 PHP
php用户密码加密算法分析【Discuz加密算法】
2016/10/12 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
jquery keypress,keyup,onpropertychange键盘事件
2010/06/25 Javascript
Javascript开发之三数组对象实例介绍
2012/11/12 Javascript
jquery动态添加删除(tr/td)
2015/02/09 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
JavaScript模拟push
2016/03/06 Javascript
再谈javascript注入 黑客必备!
2016/09/14 Javascript
jQuery实现字符串全部替换的方法【推荐】
2017/03/09 Javascript
AngularJS 防止页面闪烁的方法
2017/03/09 Javascript
AugularJS从入门到实践(必看篇)
2017/07/10 Javascript
微信小程序 input输入及动态设置按钮的实现
2017/10/27 Javascript
使用vue2实现购物车和地址选配功能
2018/03/29 Javascript
js微信分享接口调用详解
2019/07/23 Javascript
微信小程序后端无法保持session的原因及解决办法问题
2020/03/20 Javascript
[05:06]TI4西雅图DOTA2前线报道 海涛密探LGD训练
2014/07/09 DOTA
python装饰器与递归算法详解
2016/02/18 Python
Python执行时间的计算方法小结
2017/03/17 Python
python实现内存监控系统
2021/03/07 Python
解决使用PyCharm时无法启动控制台的问题
2019/01/19 Python
Django框架设置cookies与获取cookies操作详解
2019/05/27 Python
python实现读取excel文件中所有sheet操作示例
2019/08/09 Python
Python如何定义有默认参数的函数
2020/08/10 Python
详解python3 GUI刷屏器(附源码)
2021/02/18 Python
俄罗斯园林植物网上商店:Garshinka
2020/07/16 全球购物
2015年卫生监督工作总结
2015/05/21 职场文书
假如给我三天光明读书笔记
2015/06/26 职场文书
女性健康知识讲座主持词
2015/07/04 职场文书
贴吧吧主申请感言
2015/08/03 职场文书
2016年大学生党员公开承诺书
2016/03/24 职场文书
演讲稿之感恩老师(三篇范文)
2019/09/06 职场文书
golang http使用踩过的坑与填坑指南
2021/04/27 Golang
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
2021/06/30 SQL Server