解决jquery1.9不支持browser对象的问题


Posted in Javascript onNovember 13, 2013

最近因项目需要,要用jquery的cycle插件,但是项目里面一直用的都是jquery1.9,不支持browser对象,百度一下,找到了解决方案。

在cycle插件的源码里面直接加上下面这段代码就可以了:

(function(jQuery){ if(jQuery.browser) return; 
jQuery.browser = {}; 
jQuery.browser.mozilla = false; 
jQuery.browser.webkit = false; 
jQuery.browser.opera = false; 
jQuery.browser.msie = false; 
var nAgt = navigator.userAgent; 
jQuery.browser.name = navigator.appName; 
jQuery.browser.fullVersion = ''+parseFloat(navigator.appVersion); 
jQuery.browser.majorVersion = parseInt(navigator.appVersion,10); 
var nameOffset,verOffset,ix; 
// In Opera, the true version is after "Opera" or after "Version" 
if ((verOffset=nAgt.indexOf("Opera"))!=-1) { 
jQuery.browser.opera = true; 
jQuery.browser.name = "Opera"; 
jQuery.browser.fullVersion = nAgt.substring(verOffset+6); 
if ((verOffset=nAgt.indexOf("Version"))!=-1) 
jQuery.browser.fullVersion = nAgt.substring(verOffset+8); 
} 
// In MSIE, the true version is after "MSIE" in userAgent 
else if ((verOffset=nAgt.indexOf("MSIE"))!=-1) { 
jQuery.browser.msie = true; 
jQuery.browser.name = "Microsoft Internet Explorer"; 
jQuery.browser.fullVersion = nAgt.substring(verOffset+5); 
} 
// In Chrome, the true version is after "Chrome" 
else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) { 
jQuery.browser.webkit = true; 
jQuery.browser.name = "Chrome"; 
jQuery.browser.fullVersion = nAgt.substring(verOffset+7); 
} 
// In Safari, the true version is after "Safari" or after "Version" 
else if ((verOffset=nAgt.indexOf("Safari"))!=-1) { 
jQuery.browser.webkit = true; 
jQuery.browser.name = "Safari"; 
jQuery.browser.fullVersion = nAgt.substring(verOffset+7); 
if ((verOffset=nAgt.indexOf("Version"))!=-1) 
jQuery.browser.fullVersion = nAgt.substring(verOffset+8); 
} 
// In Firefox, the true version is after "Firefox" 
else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) { 
jQuery.browser.mozilla = true; 
jQuery.browser.name = "Firefox"; 
jQuery.browser.fullVersion = nAgt.substring(verOffset+8); 
} 
// In most other browsers, "name/version" is at the end of userAgent 
else if ( (nameOffset=nAgt.lastIndexOf(' ')+1) < 
(verOffset=nAgt.lastIndexOf('/')) ) 
{ 
jQuery.browser.name = nAgt.substring(nameOffset,verOffset); 
jQuery.browser.fullVersion = nAgt.substring(verOffset+1); 
if (jQuery.browser.name.toLowerCase()==jQuery.browser.name.toUpperCase()) { 
jQuery.browser.name = navigator.appName; 
} 
} 
// trim the fullVersion string at semicolon/space if present 
if ((ix=jQuery.browser.fullVersion.indexOf(";"))!=-1) 
jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix); 
if ((ix=jQuery.browser.fullVersion.indexOf(" "))!=-1) 
jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix); 
jQuery.browser.majorVersion = parseInt(''+jQuery.browser.fullVersion,10); 
if (isNaN(jQuery.browser.majorVersion)) { 
jQuery.browser.fullVersion = ''+parseFloat(navigator.appVersion); 
jQuery.browser.majorVersion = parseInt(navigator.appVersion,10); 
} 
jQuery.browser.version = jQuery.browser.majorVersion; 
})(jQuery);

这段代码是专门解决browser对象不被支持的问题的。
Javascript 相关文章推荐
基于jQuery的试卷自动排版系统实现代码
Jan 06 Javascript
jquery一句话全选/取消全选
Mar 01 Javascript
AngularJS初始化过程分析(引导程序)
Dec 06 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
Sep 21 Javascript
深入理解逻辑表达式的用法 与或非的用法
Jun 06 Javascript
JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法
Aug 19 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
Oct 25 Javascript
jQuery实现简单日期格式化功能示例
Sep 19 jQuery
webstorm中vue语法的支持详解
May 09 Javascript
Node.js 使用AngularJS的方法示例
May 11 Javascript
vue递归获取父元素的元素实例
Aug 07 Javascript
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
Feb 20 Vue.js
js获取IFRAME当前的URL的方法
Nov 13 #Javascript
jquery 漂亮的删除确认和提交无刷新删除示例
Nov 13 #Javascript
常见表单重复提交问题整理及解决方法
Nov 13 #Javascript
获取下拉列表框的值是数组,split,$.inArray示例
Nov 13 #Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
Nov 13 #Javascript
jquery validate在ie8下的bug解决方法
Nov 13 #Javascript
JQuery伸缩导航练习示例
Nov 13 #Javascript
You might like
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
PHP实现HTML页面静态化的方法
2015/11/04 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
2016/02/01 PHP
php基于PDO连接MSSQL示例DEMO
2016/07/13 PHP
js 解决“options为空或不是对象”
2008/12/22 Javascript
JQuery为textarea添加maxlength属性并且兼容IE
2013/04/25 Javascript
Lua表达式和控制结构学习笔记
2014/12/15 Javascript
原生javascript实现分享到朋友圈功能 支持ios和android
2016/05/11 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
jQGrid Table操作列中点击【操作】按钮弹出按钮层的实现代码
2016/12/05 Javascript
纯JS实现图片验证码功能并兼容IE6-8(推荐)
2017/04/19 Javascript
对node通过fs模块判断文件是否是文件夹的实例讲解
2019/06/10 Javascript
vue+elementUI组件table实现前端分页功能
2020/11/15 Javascript
Vue+ElementUI 中级联选择器Bug问题的解决
2020/07/31 Javascript
echarts实现晶体球面投影的实例教程
2020/10/10 Javascript
简单介绍Python中的JSON使用
2015/04/28 Python
Python安装官方whl包和tar.gz包的方法(推荐)
2017/06/04 Python
Python获取二维矩阵每列最大值的方法
2018/04/03 Python
python利用7z批量解压rar的实现
2019/08/07 Python
python 字典访问的三种方法小结
2019/12/05 Python
Django密码存储策略分析
2020/01/09 Python
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
EJB timer的种类
2014/10/28 面试题
若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedException?
2016/10/17 面试题
如何进行有效的自我评价
2013/09/27 职场文书
快递业务员岗位职责
2014/01/06 职场文书
大二自我鉴定
2014/01/31 职场文书
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
借款协议书
2014/09/16 职场文书
村主任个人对照检查材料
2014/10/01 职场文书
全陪导游词
2015/02/04 职场文书
汽车修理厂管理制度
2015/08/05 职场文书
5种 JavaScript 方式实现数组扁平化
2021/10/05 Javascript
MySQL创建管理RANGE分区
2022/04/13 MySQL