Chrome 開発コンソールで次のエラーが表示されます。
Uncaught TypeError: Cannot read property 'msie' of undefined
私の理解では.browser
、jQuery で非推奨になったためですが、最新バージョンの jQuery ツールを使用していますが、まだエラーが発生していjs
ます。ファイルをチェックインしたところ、そこにあります。
エラーが発生しないようにするには、どうすればこれを回避できますか?
Chrome 開発コンソールで次のエラーが表示されます。
Uncaught TypeError: Cannot read property 'msie' of undefined
私の理解では.browser
、jQuery で非推奨になったためですが、最新バージョンの jQuery ツールを使用していますが、まだエラーが発生していjs
ます。ファイルをチェックインしたところ、そこにあります。
エラーが発生しないようにするには、どうすればこれを回避できますか?
このソリューションは 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;
}
})();
参考:
この$.browser
メソッドは、jQuery1.9で削除されました。
この
jQuery.browser()
メソッドはjQuery1.3以降非推奨になり、1.9で削除されました。必要に応じて、jQueryMigrateプラグインの一部として利用できます。Modernizrなどのライブラリで機能検出を使用することをお勧めします。
アップグレードガイドに記載されているように、jQuery Migrateプラグインを使用してこの機能を復元し、jQueryツールを機能させることができます。
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>
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.
browser.msie
古いバージョンの MS IE をサポートする予定はまったくないので、すべての参照をに置き換えただけfalse
です。良い解決策ではありませんが、私にとってはうまくいきます。
(実際には!browser.msie
、条件から省略できる として表示されます。)
一撃のように使う
$(function (a) {
. . . . .thenあなたの関数では、次のようなmsieプロパティを使用できます
if (a.browser.msie)
{
}
else
{
$(settings.current).after(Uploadelement);
}
幸運を
JQuery 1.10 と JQuery UI 1.8 の使用中にこのエラーが発生しました。最新の JQuery UI 1.11.4 に更新することで、このエラーを解決できました。
一撃のように使う
私はこのコマンドを使用して解決します
「Uncaught TypeError: 未定義のプロパティ 'msie' を読み取れません」エラー
if (/1\.(0|1|2)\.(0|1|2)/.test($.fn.jquery) || /^1.1/.test($.fn.jquery)) {
return;
}