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分页脚本
May 21 Javascript
JavaScript调用堆栈及setTimeout使用方法深入剖析
Feb 16 Javascript
开发 Internet Explorer 右键功能表(ContextMenu)
Jul 03 Javascript
使用JavaScript实现Java的List功能(实例讲解)
Nov 07 Javascript
jquery实现浮动的侧栏实例
Jun 25 Javascript
javascript实现禁止鼠标滚轮事件
Jul 24 Javascript
EasyUI Pagination 分页的两种做法小结
Jul 09 Javascript
搭建Bootstrap离线文档的方法
Dec 02 Javascript
vue实现一个移动端屏蔽滑动的遮罩层实例
Jun 08 Javascript
JavaScript设计模式之缓存代理模式原理与简单用法示例
Aug 07 Javascript
create-react-app安装出错问题解决方法
Sep 04 Javascript
详解Vue的异步更新实现原理
Dec 22 Vue.js
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
php 魔术函数使用说明
2010/02/21 PHP
php设计模式 Decorator(装饰模式)
2011/06/26 PHP
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
2015/03/03 PHP
DEDECMS首页调用图片集里的多张图片
2015/06/05 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
php微信支付接口开发程序
2016/08/02 PHP
实例讲解PHP页面静态化
2018/02/05 PHP
JavaScript.Encode手动解码技巧
2010/07/14 Javascript
js 获取后台的字段 改变 checkbox的被选中的状态 代码
2013/06/05 Javascript
将Datatable转化成json发送前台实现思路
2013/09/06 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
再谈javascript原型继承
2014/11/10 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
2017/03/10 Javascript
vuejs使用axios异步访问时用get和post的实例讲解
2018/08/09 Javascript
react项目实践之webpack-dev-serve
2018/09/14 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
Vue管理系统前端之组件拆分封装详解
2020/08/23 Javascript
Vue 实例中使用$refs的注意事项
2021/01/29 Vue.js
python共享引用(多个变量引用)示例代码
2013/12/04 Python
Python实现矩阵加法和乘法的方法分析
2017/12/19 Python
Python面向对象编程之继承与多态详解
2018/01/16 Python
python对于requests的封装方法详解
2019/01/03 Python
Python xlrd模块导入过程及常用操作
2020/06/10 Python
PyCharm 2020.2.2 x64 下载并安装的详细教程
2020/10/15 Python
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
data:image data url 文件转为Blob上传后端的方法
2019/07/16 HTML / CSS
美国顶级户外凉鞋品牌:Chacos
2017/03/27 全球购物
法国滑雪假期的专家:Ski Planet
2019/11/02 全球购物
企业年度评优方案
2014/06/02 职场文书
传播学专业毕业生自荐书
2014/07/01 职场文书
党员自我评议个人对照检查材料
2014/09/16 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话
2014/10/21 职场文书
2014年售后服务工作总结
2014/11/18 职场文书
布达拉宫导游词
2015/02/02 职场文书
小学教师教学随笔
2015/08/14 职场文书
Python图片验证码降噪和8邻域降噪
2021/08/30 Python