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 相关文章推荐
在chrome浏览器中,防止input[text]和textarea在聚焦时出现黄色边框的解决方法
May 24 Javascript
window.parent与window.openner区别介绍
Apr 12 Javascript
如何让div span等元素能响应键盘事件操作指南
Nov 13 Javascript
JavaScript匿名函数与委托使用示例
Jul 22 Javascript
jQuery解决input超多的表单提交
Aug 10 Javascript
6种javascript显示当前系统时间代码
Dec 01 Javascript
JS 拦截全局ajax请求实例解析
Nov 29 Javascript
Vue.js 插件开发详解
Mar 29 Javascript
老生常谈ES6中的类
Jul 31 Javascript
vue 左滑删除功能的示例代码
Jan 28 Javascript
微信小程序网络请求实现过程解析
Nov 06 Javascript
vue实现瀑布流组件滑动加载更多
Mar 10 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设计模式之调解者模式的深入解析
2013/06/13 PHP
使用JQuery进行跨域请求
2010/01/25 Javascript
几个有趣的Javascript Hack
2010/07/24 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
2014/03/03 Javascript
JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
2016/06/14 Javascript
Bootstrap表单布局
2016/07/19 Javascript
jQuery简单实现列表隐藏和显示效果示例
2016/09/12 Javascript
nodejs中使用HTTP分块响应和定时器示例代码
2017/03/19 NodeJs
jQuery事件_动力节点Java学院整理
2017/07/05 jQuery
JavaScript编写棋盘覆盖代码详解
2017/08/28 Javascript
vue实现文章内容过长点击阅读全文功能的实例
2017/12/28 Javascript
JS实现百度搜索接口及链接功能实例代码
2018/02/02 Javascript
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
jQuery控制input只能输入数字和两位小数的方法
2019/05/16 jQuery
vue element-ui实现input输入框金额数字添加千分位
2019/12/29 Javascript
JavaScript cookie原理及使用实例
2020/05/08 Javascript
通过5个知识点轻松搞定Python的作用域
2016/09/09 Python
Python实现带参数与不带参数的多重继承示例
2018/01/30 Python
Python实现统计给定列表中指定数字出现次数的方法
2018/04/11 Python
tensorflow: 查看 tensor详细数值方法
2018/06/13 Python
python采集微信公众号文章
2018/12/20 Python
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
python3实现带多张图片、附件的邮件发送
2019/08/10 Python
pytorch使用tensorboardX进行loss可视化实例
2020/02/24 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
基于Keras中Conv1D和Conv2D的区别说明
2020/06/19 Python
python Matplotlib模块的使用
2020/09/16 Python
MoviePy简介及Python视频剪辑自动化
2020/12/18 Python
外贸公司实习自我鉴定
2013/09/24 职场文书
偷看我的初中毕业鉴定
2014/01/29 职场文书
毕业晚会主持词
2014/03/24 职场文书
捐资助学倡议书
2014/04/15 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
2015年乡镇组织委员工作总结
2015/10/23 职场文书
Python语言内置数据类型
2022/02/24 Python
高通2023 年将发布高性能PC处理器
2022/04/29 数码科技