解决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对象不被支持的问题的。