解决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 相关文章推荐
两种WEB下的模态对话框 (asp.net或js的分别实现)
Dec 02 Javascript
jQuery随机切换图片的小例子
Apr 18 Javascript
js下拉菜单语言选项简单实现
Sep 23 Javascript
js获取URL的参数的方法(getQueryString)示例
Sep 29 Javascript
javascript实现链接单选效果的方法
May 13 Javascript
如何使用jquery实现文字上下滚动效果
Oct 12 Javascript
基于jQuery Easyui实现登陆框界面
Jul 10 jQuery
JS实现前端缓存的方法
Sep 21 Javascript
React Native模块之Permissions权限申请的实例相机
Sep 28 Javascript
React key值的作用和使用详解
Aug 23 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
Jun 27 Javascript
在vue项目中使用codemirror插件实现代码编辑器功能
Aug 27 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
SONY ICF-SW7600的电路分析
2021/03/02 无线电
php设计模式 Builder(建造者模式)
2011/06/26 PHP
PHP面向对象学习笔记之二 生成对象的设计模式
2012/10/06 PHP
PHP可变变量学习小结
2015/11/29 PHP
JavaScript iframe的相互操作浅析
2009/10/14 Javascript
JavaScript 程序编码规范
2010/11/23 Javascript
jQuery UI Datepicker length为空或不是对象错误的解决方法
2010/12/19 Javascript
checkbox勾选判断代码分析
2014/06/11 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
2015/10/12 Javascript
第五章之BootStrap 栅格系统
2016/04/25 Javascript
jQuery dataTables与jQuery UI 对话框dialog的使用教程
2016/09/02 Javascript
jQuery时间日期三级联动(推荐)
2016/11/27 Javascript
基于jQuery实现滚动切换效果
2016/12/02 Javascript
详解vue 模版组件的三种用法
2017/07/21 Javascript
JS实现简单短信验证码界面
2017/08/07 Javascript
详解Require.js与Sea.js的区别
2018/08/05 Javascript
vue cli3.0 引入eslint 结合vscode使用
2019/05/27 Javascript
微信小程序开发技巧汇总
2019/07/15 Javascript
javascript刷新父页面方法汇总详解
2019/10/10 Javascript
[02:41]辉夜杯现场一家三口 “我爸玩风行 我玩血魔”
2015/12/27 DOTA
[02:08]什么藏在DOTA2 TI9“小紫本”里?斧王历险记告诉你!
2019/05/17 DOTA
Python图算法实例分析
2016/08/13 Python
Python 和 JS 有哪些相同之处
2017/11/23 Python
关于python2 csv写入空白行的问题
2018/06/22 Python
简单了解python关系(比较)运算符
2019/07/08 Python
印度排名第一的蛋糕、鲜花和礼品送货:Winni
2019/08/02 全球购物
能否解释一下XSS cookie盗窃是什么意思
2012/06/02 面试题
探亲假请假条
2014/04/11 职场文书
美术社团活动总结
2014/06/27 职场文书
2014年班主任德育工作总结
2014/12/05 职场文书
2014年学校禁毒工作总结
2014/12/23 职场文书
党员倡议书
2015/01/19 职场文书
开平碉楼导游词
2015/02/06 职场文书
2015年爱国卫生工作总结
2015/04/22 职场文书
我的兄弟姐妹观后感
2015/06/15 职场文书
2019年公司快递收发管理制度模板
2019/11/20 职场文书