JavaScript 浏览器验证代码(来自discuz)


Posted in Javascript onJuly 17, 2010

在看 Discuz! 的源码的时候,发现了一段浏览器验证的代码,还是比较经典的:

var BROWSER = {}; 
var USERAGENT = navigator.userAgent.toLowerCase(); 
alert(USERAGENT); 
BROWSER.ie = window.ActiveXObject && USERAGENT.indexOf('msie') != -1 && USERAGENT.substr(USERAGENT.indexOf('msie') + 5, 3); 
BROWSER.firefox = document.getBoxObjectFor && USERAGENT.indexOf('firefox') != -1 && USERAGENT.substr(USERAGENT.indexOf('firefox') + 8, 3); 
BROWSER.chrome = window.MessageEvent && !document.getBoxObjectFor && USERAGENT.indexOf('chrome') != -1 && USERAGENT.substr(USERAGENT.indexOf('chrome') + 7, 10); 
BROWSER.opera = window.opera && opera.version(); 
BROWSER.safari = window.openDatabase && USERAGENT.indexOf('safari') != -1 && USERAGENT.substr(USERAGENT.indexOf('safari') + 7, 8); 
BROWSER.other = !BROWSER.ie && !BROWSER.firefox && !BROWSER.chrome && !BROWSER.opera && !BROWSER.safari; 
BROWSER.firefox = BROWSER.chrome ? 1 : BROWSER.firefox;
Javascript 相关文章推荐
用js自动判断浏览器分辨率的代码
Jan 28 Javascript
jQuery入门问答 整理的几个常见的初学者问题
Feb 22 Javascript
jquery中dom操作和事件的实例学习-表单验证
Nov 30 Javascript
表格奇偶行设置不同颜色的核心JS代码
Dec 24 Javascript
javascript自定义的addClass()方法
May 28 Javascript
js创建对象的区别示例介绍
Jul 24 Javascript
Javascript让DEDECMS告别手写Tag
Sep 01 Javascript
JS禁用页面上所有控件的实现方法(附demo源码下载)
Dec 17 Javascript
防止页面url缓存中ajax中post请求的处理方法
Oct 10 Javascript
vue toggle做一个点击切换class(实例讲解)
Mar 13 Javascript
在vue中给列表中的奇数行添加class的实现方法
Sep 05 Javascript
浅谈JavaScript窗体Window.ShowModalDialog使用
Jul 22 Javascript
IE6,IE7下js动态加载图片不显示错误
Jul 17 #Javascript
js模拟类继承小例子
Jul 17 #Javascript
javascript 循环读取JSON数据的代码
Jul 17 #Javascript
一个可绑定数据源的jQuery数据表格插件
Jul 17 #Javascript
js跨域问题之跨域iframe自适应大小实现代码
Jul 17 #Javascript
javascript下对于事件、事件流、事件触发的顺序随便说说
Jul 17 #Javascript
jQuery Select(单选) 模拟插件 V1.3.62 改进版
Jul 17 #Javascript
You might like
PHPMYADMIN导入数据最大为2M的解决方法
2012/04/23 PHP
PHP使用json_encode函数时不转义中文的解决方法
2014/11/12 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
2015/07/06 PHP
PHP魔术方法使用方法汇总
2016/02/14 PHP
初识ThinkPHP控制器
2016/04/07 PHP
php+ajax实现仿百度查询下拉内容功能示例
2017/10/20 PHP
实例分析PHP将字符串转换成数字的方法
2019/01/27 PHP
jquery与google map api结合使用 控件,监听器
2010/03/04 Javascript
jquery中对于批量deferred的处理方法
2014/01/22 Javascript
js选择并转移导航菜单示例代码
2014/08/19 Javascript
javascript制作sql转换为stringBuffer的小工具
2015/04/03 Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
2016/05/30 Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
2017/03/04 Javascript
jQuery中each循环的跳出和结束实例
2017/08/16 jQuery
vue+springboot前后端分离实现单点登录跨域问题解决方法
2018/01/30 Javascript
vue移动端UI框架实现QQ侧边菜单组件
2018/03/09 Javascript
Vue引入jquery实现平滑滚动到指定位置
2018/05/09 jQuery
JavaScript 链表定义与使用方法示例
2020/04/28 Javascript
[07:52]2014DOTA2 TI逗比武士游V社解说背后的故事
2014/07/10 DOTA
[56:21]LGD vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
在Python中使用全局日志时需要注意的问题
2015/05/06 Python
用python处理图片之打开\显示\保存图像的方法
2018/05/04 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
Python学习笔记之变量、自定义函数用法示例
2019/05/28 Python
Keras 使用 Lambda层详解
2020/06/10 Python
Django如何批量创建Model
2020/09/01 Python
Python 微信公众号文章爬取的示例代码
2020/11/30 Python
html5弹跳球示例代码
2013/07/23 HTML / CSS
世界领先的在线地板和建筑材料批发商:BuildDirect
2017/02/26 全球购物
巴西电子、家电、智能手机购物网站:Girafa
2019/06/04 全球购物
莫斯科珠宝厂官方网站:Miuz
2020/09/19 全球购物
介绍一下EJB的分类及其各自的功能及应用
2016/08/23 面试题
反腐倡廉标语
2014/06/24 职场文书
2014年护理工作总结范文
2014/11/14 职场文书
优秀创业计划书分享
2019/07/19 职场文书
详解Java ES多节点任务的高效分发与收集实现
2021/06/30 Java/Android