$.browser は未定義のソリューションです

$.browser は、ブラウザの基本情報を取得するために使用されます。

jQuery バージョン 1.9 以降、$.browser と $.browser.version が削除され、$.support が置き換えられました。アップデートされたバージョン 2.0 では、IE 6/7/8 はサポートされなくなります。将来、ユーザーが IE 6/7/8 をサポートする必要がある場合、jQuery 1.9 のみを使用できます。

解決:

1. JQuery バージョン 1.9 より前のバージョンを使用します (もちろん、この方法は適切ではなく、非常に面倒です)。

2. $.browser.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 を作成し、その中に上記のコードをコピーし、jsp で引用します。

JSでの(function(){xxx})()の書き方の解説。


自己実行型の匿名関数:

一般的な形式: (function() { /* code */ })();
説明: 関数を囲む最初のかっこのペア (function(){}) は、名前のない関数をスクリプトに返し、次に空のかっこのペアを返します。 return をすぐに実行します。 の名前のない関数、無名関数のパラメータは括弧内にあります。
機能: これを使用して名前空間を作成できます。すべてのコードをこの特別な関数パッケージ内に記述している限り、許可しない限り外部にアクセスできません (関数または変数がグローバルになるように、変数の前にウィンドウを追加します)。 。各 JavaScript ライブラリのコードも、基本的にはこのように構成されています。
まとめると、 1. 実行機能の機能は主に匿名での自動実行であり、コードは解釈された時点ですでに実行されています。

2. 匿名関数とクロージャを使用して xxx 内のコードを実行します。同時に、変数のスコープなどのすべての定義はクロージャ内にあるため、外部の名前空間を汚染しません。

3. グローバル変数を汚染せずに特定の関数を実装したい場合は、jquery プラグインで一般的なこの自己実行匿名関数を使用します。


元のリンク: https://blog.csdn.net/lufuzhang2/article/details/46807813

おすすめ

転載: blog.csdn.net/wybshyy/article/details/131793291