解决jquery1.9不支持browser对象的问题
最近因项目需要,要用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对象不被支持的问题的。
推荐阅读
-
解决springmvc关于前台日期作为实体类对象参数类型转换错误的问题
-
解决springmvc关于前台日期作为实体类对象参数类型转换错误的问题
-
解决Vue2.0 watch对象属性变化监听不到的问题
-
解决vue select当前value没有更新到vue对象属性的问题
-
对象不支持indexOf属性或方法的解决方法(必看)
-
解决nginx不支持thinkphp中pathinfo的问题
-
解决Node.js mysql客户端不支持认证协议引发的问题
-
解决Vue2.0 watch对象属性变化监听不到的问题
-
解决vue select当前value没有更新到vue对象属性的问题
-
解决nginx不支持thinkphp中pathinfo的问题