レガシーなIE6/7でもJavaScriptのSetters/Gettersを使えるようにする「Cross Browser DOM-Accessors」
Cross Browser DOM-AccessorsはIE6/7でもSetters/Gettersを使えるようにするライブラリ。
Cross Browser DOM-AccessorsはJavaScript/HTML Components製のフリーウェア(ソースコードは公開されている)。JavaScriptの面白い所は、柔軟な言語仕様、OSの垣根を越えてWebブラウザさえあれば同じように動作することではないだろうか。
IE6でも動く
もちろんJavaScriptも個々のブラウザによって仕様が異なるので同じコードが全て動作する訳ではない。だが、そうした差異を吸収するライブラリもまた開発されている。IE6/7で感じていた不便さを一つ解消してくれるのがCross Browser DOM-Accessorsだ。
Cross Browser DOM-Accessorsが解消するのはSetters/Gettersに関する処理だ。IE8以上やその他のWebブラウザでは概ねSetters/Gettersが実装されているが、IE6/7では利用する事ができなかった。そうしたブラウザ互換性の問題が一つ解決する。
新しいブラウザでも動く
実装はブラウザ判定を行った上でHTC(HTML Components)ファイルを読み込んでいる点が特徴だ。これによってモダンなブラウザでは概ねSetters/Gettersが使えるようになる。より柔軟で使いやすいコードが書けるようになるはずだ。
MOONGIFTはこう見る
HTCによる拡張は幾つか見たことがある。技術的に面白い方法だ。IE6/7向けのバギーな拡張が多いので、今後シェアが減っていけば需要は下がっていくと思われるが、過渡期にある現状ではとても重宝されるライブラリだろう。
IE6のシェアは年々下がってはいるが、それでも今しばらく残り続けるだろう。そのために新しい技術、仕組みを使えないのは勿体ない。Setters/Gettersに限らずこの手法は活用できるはずだ。