jQueryで
TypeError: 'undefined' is not a function (evaluating 'e.getAttribute("type")')
というエラーが出たので、jQueryのバージョンと、どのブラウザが対応しているかを調べてみました。
Safariだけ動かない jquery TypeError: undefined is not a function
Windows版のSafari バージョン5.1.7だけ、動かないプログラムがあります。
Chromeでは動きました。
F12デバッグして確かめてみると、で以下のエラーが出ていました。
jquery-3.3.0.min.js:2TypeError: 'undefined' is not a function (evaluating 'e.getAttribute("type")')
Chrome、Edgeでは、このエラーが出ません。
Windows版のSafari だけ、このエラーが出ます。
調べてみると、Safari 5.1.7 は、jQuery 3 をサポートしていないようです。
jQueryのバージョンとSafari, Chrome等ブラウザの関係
jQueryは、JavaScriptで最も使われているライブラリ群です。
jQueryのリリースの履歴は次の通りです。
- 2006年6月30日 jQuery 1.0 リリース、1系最初のリリース
- 2016年5月20日 jQuery 1.12.4 リリース、1系最後のリリース
- 2013年4月18日 jQuery 2.0 リリース、2系最初のリリース
- 2016年5月20日 jQuery 2.2.4 リリース、2系最後のリリース
- 2016年6月9日 jQuery 3.0 リリース、3系最初のリリース
- 2018年1月19日 jQuery 3.3 リリース
長らくjQuery 1系が使われていましたが、現在の主流はjQuery 3系です。
jQuery 3が動くブラウザは以下の通りです。
- Chrome、Firefox、Safari、Edge(最新バージョンとひとつ前のバージョン)
- Internet Explorer 9以降
- Opera(最新バージョン)
- Android 4以降の標準ブラウザー
- iOS版Safari 7以降
Windows版の最後のSafari 5.1.7は、jQuery 3をサポートしていません。
jQueryの公式サイトには、以下の記述がありました。
・https://jquery.com/browser-support/
If you need to support older browsers like Internet Explorer 6-8, Opera 12.1x or Safari 5.1+, use jQuery 1.12.
コメント