JQuery TypeError:$.browser is undefined岁解决,有什么办法?

2022-11-18 0 270



JQuery TypeError:$.browser is undefined如何解决,有什么办法?

 

jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support 。在更新的2.0版本中,IE 6/7/8将不再被支持。未来,如果你想支持IE 6/7/8,你只能使用jQuery 1.9。

解决方法

 

如果要全面支持 IE,并混合使用 jQuery 1.9 和 2.0, 官方的解决方案是:

 

<!–[if lt IE 9]>

<script src=’jquery-1.9.0.js’></script>

<![endif]–>

<!–[if gte IE 9]>

<script src=’jquery-2.0.0.js’></script>

<![endif]–>

 

从长久来看,这样有利于在复杂情况下根据浏览器特性进行分别处理, 而不是简单的检测浏览器类型和版本。 但目前很多旧程序的移植恐怕无法直接过渡为根据浏览器支持特性, 所以在网上找了一些能够直接替换的解决办法。

判断浏览器类型

 

$.browser.mozilla = /firefox/.test(navigator.userAgent.toLowerCase());

$.browser.webkit = /webkit/.test(navigator.userAgent.toLowerCase());

$.browser.opera = /opera/.test(navigator.userAgent.toLowerCase());

$.browser.msie = /msie/.test(navigator.userAgent.toLowerCase());

 

等号后面的表达式返回的就是 true/false, 可以直接用来替换原来的 $.browser.msie 等。

 

还有一种方法就是加入以下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);

 

将以上js另存为browser.js然后在jsp中引入即可

 

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!cheeksyu@vip.qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有积分奖励和额外收入!
5.严禁将资源用于任何违法犯罪行为,不得违反国家法律,否则责任自负,一切法律责任与本站无关

源码下载

发表评论
暂无评论