勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

「jQuery.browser is undefined」エラーの対応方法

   2024/02/25  jQuery

jQueryのプラグインを使っていて1.9以降だと「jQuery.browser is undefined」みたいなエラーがfirebugのコンソールに表示され、挙動がおかしくなった。1.7とか古めのバージョンだと表示されない。

 

原因

調べてみると$.browserが1.9から廃止になったらしい。また、そもそも1.3からサポート外とのこと。

簡単な解決策としては呼び出すjQueryのバージョンを下げることだけど、それだと他の部分にも影響が出てくると思われるのであまりやりたくなかった。

また、日本語リファレンスでは「jQUery.supportを使ってください」とあるが、プラグインのソースはあまり触りたくなかった。

日本語リファレンス該当ページ

http://semooh.jp/jquery/api/utilities/jQuery.browser/

 

対応方法

何か簡単な解決方法が無いか調べると、このようなjQueryのバージョンの差異による問題を解決してくれるプラグインがあった。

jquery-migrate

https://github.com/jquery/jquery-migrate

jQueryを呼び出した後に上記プラグインを呼び出すだけで使えた。今までだとバージョンを下げたり、異なるプラグインを検討したりと手間がかかっていたので、今後はこれを使っていく。

 - jQuery

  関連記事

FormDataを使ったAjax通信がiPhoneのみエラー
FormDataを使ったAjax通信がiPhoneのみエラー

FormDataオブジェクトを使用したAjax通信するシステムがあり、PCやAn ...

要素の表示or非表示
要素の表示or非表示

今まで要素の表示or非表示をCSSで操作する際、 display:none; / ...

jQuery UIのDatepickerでリセット(入力内容消去)ボタンの追加方法
jQuery UIのDatepickerでリセット(入力内容消去)ボタンの追加方法

jQuery UIのDatepickerでキーボード入力を防ぎたいためreado ...

jQueryのdatetimepickerでスクロール入力を無効化させる方法
jQueryのdatetimepickerでスクロール入力を無効化させる方法

日時ピッカーのjQuery datetimepickerにて、ピッカーを指定して ...

Javascript / jQueryにて特定の要素内の文字数が〇文字以上の場合に丸める方法
Javascript / jQueryにて特定の要素内の文字数が〇文字以上の場合に丸める方法

サイトの特定の要素内の文字数が〇文字以上の場合に「コンテンツコンテ……」のように ...