201

Chrome 開発コンソールで次のエラーが表示されます。

Uncaught TypeError: Cannot read property 'msie' of undefined

私の理解では.browser、jQuery で非推奨になったためですが、最新バージョンの jQuery ツールを使用していますが、まだエラーが発生していjsます。ファイルをチェックインしたところ、そこにあります。

エラーが発生しないようにするには、どうすればこれを回避できますか?

4

13 に答える 13

278

このソリューションは AJ で確認できます。次のコード行をコピーして貼り付けるだけです。

jQuery.browser = {};
(function () {
    jQuery.browser.msie = false;
    jQuery.browser.version = 0;
    if (navigator.userAgent.match(/MSIE ([0-9]+)\./)) {
        jQuery.browser.msie = true;
        jQuery.browser.version = RegExp.$1;
    }
})();

参考

于 2013-06-06T21:59:38.377 に答える
198

この$.browserメソッドは、jQuery1.9で削除されました。

jQuery.browser() removed

このjQuery.browser()メソッドはjQuery1.3以降非推奨になり、1.9で削除されました。必要に応じて、jQueryMigrateプラグインの一部として利用できます。Modernizrなどのライブラリで機能検出を使用することをお勧めします。

jQueryCore1.9アップグレードガイド

アップグレードガイドに記載されているように、jQuery Migrateプラグインを使用してこの機能を復元し、jQueryツールを機能させることができます。

于 2013-02-17T16:50:07.243 に答える
34

js ファイルのインクルード後に以下のコードを使用していますが、現在は機能しています。

<script src="js/jquery-ui.min.js" type="text/javascript"></script>
<script type="text/javascript">
    jQuery.browser = {};
    (function () {
        jQuery.browser.msie = false;
        jQuery.browser.version = 0;
        if (navigator.userAgent.match(/MSIE ([0-9]+)\./)) {
            jQuery.browser.msie = true;
            jQuery.browser.version = RegExp.$1;
        }
    })();
</script>
于 2016-08-30T11:06:56.480 に答える
7

Here is the jQuery Tools bug on GitHub. You can try one of the patches.

edit — it doesn't look to me as if jQuery Tools is getting much support. I personally would not begin a new project with a dependency on that library unless I were prepared to take over support myself.

于 2013-02-17T16:36:17.353 に答える
3

browser.msie古いバージョンの MS IE をサポートする予定はまったくないので、すべての参照をに置き換えただけfalseです。良い解決策ではありませんが、私にとってはうまくいきます。

(実際には!browser.msie、条件から省略できる として表示されます。)

于 2013-09-02T20:28:43.083 に答える
0

一撃のように使う

$(function (a) {

. . . . .thenあなたの関数では、次のようなmsieプロパティを使用できます

if (a.browser.msie) 
{
}
else 
{
   $(settings.current).after(Uploadelement);
}

幸運を

于 2013-09-05T12:12:36.777 に答える
0

JQuery 1.10 と JQuery UI 1.8 の使用中にこのエラーが発生しました。最新の JQuery UI 1.11.4 に更新することで、このエラーを解決できました。

Visual Studio から JQuery UI を更新する手順:

  • プロジェクトまたはソリューションに移動
  • 右クリック: 「NuGet パッケージの管理」
  • 左側で、[インストール済みパッケージ] タブをクリックします。
  • 「JQuery UI (結合ライブラリ)」を探し、「更新」をクリックします
  • 見つかった場合は、それを選択して[更新]をクリックします
  • 見つからない場合は、左側の [オンライン > nuget.org] タブで見つけて、[インストール] をクリックします。古いバージョンの Jquery UI バージョンがまだ存在する場合は、プロジェクトから削除できます。
于 2015-12-21T14:42:22.610 に答える
0

一撃のように使う

私はこのコマンドを使用して解決します

「Uncaught TypeError: 未定義のプロパティ 'msie' を読み取れません」エラー

if (/1\.(0|1|2)\.(0|1|2)/.test($.fn.jquery) || /^1.1/.test($.fn.jquery)) {
    return;
}
于 2015-06-09T12:21:25.363 に答える