解决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 相关文章推荐
javascript采用数组实现tab菜单切换效果
Dec 12 Javascript
$.getJSON在IE下失效的原因分析及解决方法
Jun 16 Javascript
JavaScript原生对象之Date对象的属性和方法详解
Mar 13 Javascript
纯HTML5制作围住神经猫游戏-附源码下载
Aug 23 Javascript
select隐藏选中值对应的id,显示其它id的简单实现方法
Aug 25 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
Sep 08 Javascript
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
Jan 09 Javascript
ES6中的Promise代码详解
Oct 09 Javascript
完美解决axios跨域请求出错的问题
Feb 05 Javascript
Node.js中,在cmd界面,进入退出Node.js运行环境的方法
May 12 Javascript
详解Angular模板引用变量及其作用域
Nov 23 Javascript
基于Vue.js与WordPress Rest API构建单页应用详解
Sep 16 Javascript
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
PHP中对缓冲区的控制实现代码
2013/09/29 PHP
关于URL最大长度限制的相关资料查证
2014/12/23 PHP
PHP语法小结之基础和变量
2015/11/22 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
2016/09/11 PHP
浅谈PHP命令执行php文件需要注意的问题
2016/12/16 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
2017/03/15 PHP
PHP异步进程助手async-helper
2018/02/05 PHP
初学JavaScript_03(ExtJs Grid的简单使用)
2008/10/02 Javascript
js 表单验证方法(实用)
2009/04/28 Javascript
js函数排序的实例代码
2013/07/01 Javascript
细说javascript函数从函数的构成开始
2013/08/29 Javascript
javascript if条件判断方法小结
2014/05/17 Javascript
JavaScript实现重置表单(reset)的方法
2015/04/02 Javascript
jQuery插件zepto.js简单实现tab切换
2015/06/16 Javascript
jQuery.deferred对象使用详解
2016/03/18 Javascript
JavaScript学习笔记之数组的增、删、改、查
2016/03/23 Javascript
Bootstrap每天必学之轮播(Carousel)插件
2016/04/25 Javascript
利用vue.js插入dom节点的方法
2017/03/15 Javascript
JS简单实现点击跳转登陆邮箱功能的方法
2017/10/31 Javascript
Vue的移动端多图上传插件vue-easy-uploader的示例代码
2017/11/27 Javascript
详解小程序缓存插件(mrc)
2018/08/17 Javascript
深入剖析JavaScript instanceof 运算符
2019/06/14 Javascript
原生js实现随机点名功能
2019/11/05 Javascript
js事件机制----捕获与冒泡机制实例分析
2020/05/22 Javascript
python实现k均值算法示例(k均值聚类算法)
2014/03/16 Python
Python学习笔记(二)基础语法
2014/06/06 Python
Python 使用list和tuple+条件判断详解
2019/07/30 Python
python实现的按要求生成手机号功能示例
2019/10/08 Python
如何通过Python3和ssl实现加密通信功能
2020/05/09 Python
python日志通过不同的等级打印不同的颜色(示例代码)
2021/01/13 Python
Molton Brown美国官网:奢华美容、香水、沐浴和身体护理
2020/09/02 全球购物
介绍一下游标
2012/01/10 面试题
国外的一些J2EE面试题一
2012/10/13 面试题
有关西游记的读书笔记
2015/06/25 职场文书
Vue3.0中Ref与Reactive的区别示例详析
2021/07/07 Vue.js
Python 可迭代对象 iterable的具体使用
2021/08/07 Python