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实现的批量图片预览加载功能
Aug 14 Javascript
使用jQuery+EasyUI实现CheckBoxTree的级联选中特效
Dec 06 Javascript
如何使用AngularJs打造权限管理系统【简易型】
May 09 Javascript
关于js原型的面试题讲解
Sep 25 Javascript
jquery实现(textarea)placeholder自动换行
Dec 22 Javascript
JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码
Mar 25 Javascript
Angular中的$watch、$watchGroup、$watchCollection
Jun 25 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
Jul 27 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
Dec 27 Javascript
Vue实现点击时间获取时间段查询功能
Aug 21 Javascript
基于小程序请求接口wx.request封装的类axios请求
Jul 02 Javascript
JS highcharts动态柱状图原理及实现
Oct 16 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
php入门学习知识点六 PHP文件的读写操作代码
2011/07/14 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
2014/05/12 PHP
thinkPHP中分页用法实例分析
2015/12/26 PHP
PHP针对字符串开头和结尾的判断方法
2016/07/11 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
PHP使用curl_multi_select解决curl_multi网页假死问题的方法
2018/08/15 PHP
javascript获取flash版本号的方法
2014/11/20 Javascript
使用jQuery简单实现模拟浏览器搜索功能
2014/12/21 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
如何在AngularJs中调用第三方插件库
2017/05/21 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
2017/12/27 jQuery
浅谈Webpack 是如何加载模块的
2018/05/24 Javascript
vue 使某个组件不被 keep-alive 缓存的方法
2018/09/21 Javascript
Vue中util的工具函数实例详解
2019/07/08 Javascript
原生JS封装拖动验证滑块的实现代码示例
2020/06/01 Javascript
[01:23]一分钟告诉你 DOTA2为什么叫信仰2
2014/06/20 DOTA
详解Python在七牛云平台的应用(一)
2017/12/05 Python
对Python random模块打乱数组顺序的实例讲解
2018/11/08 Python
Python设计模式之建造者模式实例详解
2019/01/17 Python
python系列 文件操作的代码
2019/10/06 Python
Python中实现输入超时及如何通过变量获取变量名
2020/01/18 Python
Django中的session用法详解
2020/03/09 Python
Python Django中的STATIC_URL 设置和使用方式
2020/03/27 Python
Python Tornado之跨域请求与Options请求方式
2020/03/28 Python
解决CSS3 transition-delay 属性默认值0不带单位失效的问题
2020/10/29 HTML / CSS
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
存储过程和函数的区别
2013/05/28 面试题
车间操作工岗位职责
2013/12/19 职场文书
高中课程设置方案
2014/05/28 职场文书
另类冲刺标语
2014/06/24 职场文书
秋季校运会广播稿100字
2014/09/18 职场文书
招商引资工作汇报材料
2014/10/28 职场文书
南湾猴岛导游词
2015/02/09 职场文书
2015年志愿者服务工作总结
2015/04/20 职场文书
海上钢琴师观后感
2015/06/03 职场文书