标签:
在使用jquery.Jcrop的过程中,出现:
 TypeError: $.browser is undefined 
 opt.trackDocument = $.browser.msie ? false : true; 
由于使用的是jquery-1.11.2.min.js,不支持browser对象。
 
 
解决方案:
在jquery.Jcrop.js的源码最下面直接加上下面这段代码:
 
 
 (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); 
 
 
jquery.Jcrop中解决jQuery不支持$.browser的办法
标签:
原文地址:http://my.oschina.net/u/1046838/blog/396926