解決jquery插件:TypeError:$.browser is undefined報(bào)錯(cuò)的方法
首先先說(shuō)一說(shuō)$.browser
browser就是用來(lái)獲取瀏覽器基本信息的。
jQuery 從 1.9 版開(kāi)始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support 。 在更新的 2.0 版本中,將不再支持 IE 6/7/8。 以后,如果用戶(hù)需要支持 IE 6/7/8,只能使用 jQuery 1.9。
解決方法:加入以下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中引入即可。
這是小編找到的一種解決方法,還沒(méi)有實(shí)驗(yàn),先分享給大家,希望對(duì)大家解決jquery插件報(bào)錯(cuò)問(wèn)題有所收獲吧。
相關(guān)文章
jQuery實(shí)現(xiàn)合并/追加數(shù)組并去除重復(fù)項(xiàng)的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)合并/追加數(shù)組并去除重復(fù)項(xiàng)的方法,可實(shí)現(xiàn)合并兩個(gè)數(shù)組并出去重復(fù)項(xiàng)的功能,涉及數(shù)組的遍歷、判斷、追加等相關(guān)操作技巧,需要的朋友可以參考下2018-04-04
如何確保JavaScript的執(zhí)行順序 之jQuery.html并非萬(wàn)能鑰匙
在上一篇文章《如何確保JavaScript的執(zhí)行順序 - 之jQuery.html深度分析》中,我們揭示了jQuery.html函數(shù)之所以能在各種瀏覽器下保持動(dòng)態(tài)JS順序執(zhí)行,其秘密在于 – 同步AJAX獲取外部JavaScript。2011-03-03
jQuery.extend 函數(shù)及用法詳細(xì)
Jquery的擴(kuò)展方法extend是我們?cè)趯?xiě)插件的過(guò)程中常用的方法,該方法有一些重載原型,在此,我們一起通過(guò)本篇文章學(xué)習(xí)jquery.extend函數(shù)及用法詳解吧2015-09-09
jQuery尋找n以?xún)?nèi)完全數(shù)的方法
這篇文章主要介紹了jQuery尋找n以?xún)?nèi)完全數(shù)的方法,涉及jQuery數(shù)值計(jì)算的相關(guān)技巧,需要的朋友可以參考下2015-06-06
鋒利的jQuery 要點(diǎn)歸納(三) jQuery中的事件和動(dòng)畫(huà)(下:動(dòng)畫(huà)篇)
《鋒利的jQuery》要點(diǎn)歸納(三) jQuery中的事件和動(dòng)畫(huà)(下:動(dòng)畫(huà)篇)2010-03-03
Jquery動(dòng)態(tài)更改一張位圖的src與Attr的使用
用Jquery想動(dòng)態(tài)更改一張位圖的src發(fā)現(xiàn)css不好用而attr貌似是能操作所有屬性,包括Jquery未封裝的屬性,具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下2013-07-07
jquery hover 不停閃動(dòng)問(wèn)題的解決方法(亦為stop()的使用)
下面小編就為大家?guī)?lái)一篇jquery hover 不停閃動(dòng)問(wèn)題的解決方法(亦為stop()的使用)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
jquery中使用ajax獲取遠(yuǎn)程頁(yè)面信息
當(dāng)我們點(diǎn)擊表格里面的標(biāo)題顯示相關(guān)的詳細(xì)信息,比如點(diǎn)擊新聞標(biāo)題顯示正文,而正文通常是在一個(gè)頁(yè)面里面,通過(guò)獲取傳遞的參數(shù)id查詢(xún)數(shù)據(jù)庫(kù),然后顯示出來(lái)2011-11-11
jQuery使用cookie與json簡(jiǎn)單實(shí)現(xiàn)購(gòu)物車(chē)功能
這篇文章主要介紹了jQuery使用cookie與json簡(jiǎn)單實(shí)現(xiàn)購(gòu)物車(chē)功能的方法,介紹了jQuery實(shí)現(xiàn)購(gòu)物車(chē)的步驟與關(guān)鍵代碼,需要的朋友可以參考下2016-04-04

