prototype.jsとjQueryのブラウザ対応調査
配布元で提示されている情報と、対応していないブラウザで使った場合にどうなるかを調べてみた。
prototype.js (1.6.1)
http://www.prototypejs.org/download によるとこんな感じ。
対応していないブラウザで読み込ませたらどうなるかを、単にprototype.js読み込み後にPrototypeが定義されているかと、Protoype.Versionの表示で確認。*1
ブラウザ | 成否 |
---|---|
Firefox 1.0 | ◯ |
IE 4.0 | × |
IE 5.0 | × |
IE 5.5 | ◯ |
Mac IE 5.23 | × |
Opera 6.06 | × |
Opera 7.54 | × |
Opera 8.54 | ◯ |
Netscape Communicator 4.78 | × |
jQuery (1.4.2)
http://docs.jquery.com/Browser_Compatibility によるとこんな感じ。
jQueryについては、minifiedなものと、uncompressedなものについても調べた。調査はjQueryの定義の有無と、jQuery().jqueryの出力で。
ブラウザ | 成否(minified) | 成否(uncompressed) |
---|---|---|
Firefox 1.0 | ◯ | ◯ |
Firefox 1.5 | ◯ | ◯ |
IE 4.0 | × | × |
IE 5.0 | × | × |
IE 5.5 | × | × |
Mac IE 5.23 | × | × |
Opera 6.06 | × | × |
Opera 7.54 | × | × |
Opera 8.54 | ◯ | ◯ |
Netscape Communicator 4.78 | × | × |
まとめ
何がしたかったかというと、今作っているJavaScript用の軽量ライブラリ、KEM.jsでの、ブラウザの分別にこの結果を利用しようと。
例えば、prototype.jsにもjQueryにも対応するブラウザは以下のようになる。
KEM.jsでは、この辺りのブラウザを、それよりも古いブラウザと区別して処理を分岐させるような仕組みを取り入れるつもり。
例えば、上記のブラウザのグレードを「2」、それよりも古いIE5.0とかFirefox 1.0辺りまでを「1」、それよりも古いNetscapeとか対応が面倒なMac IEとかを「0」としておくとかそんな感じ。
で、KEM.jsをうまく使うと、古いブラウザではエラーが出ずにそこそこ表示、新しいブラウザならリッチな表示、といった感じにできるようにしたい。