「Cross Browser」とは、どのようなブラウザ
( 特に Netscape社の Netscape Navigator と Microsoft社の Internet Explorer )
でも動作する HTML を指すようです。
この意味では、この「JavaScript Tip集」は一部の項目を除いて
「Cross Browser」といってもいいかもしれません。
然し、NN4 及び IE4 より以前のバージョンのブラウザは、
基本的に Netscape社の言語仕様をベースにしているので、
Cross Browser のためには「バグ回避」と若干の「仕様変更」に対応すれば良いので、
比較的楽( 何に対して楽なんだか... f(^^;
)に対応できます。
ところが、 NN4 及び IE4 以降は StyleSheet と レイア( DIV )を中心とした、
CGI 等を使用せずにダイナミックな動きや表現を演出する「Dynamic HTML」を前面に出した、
各社独自仕様の JavaScript を公開・実装したため、
「Cross Browser」は非常に難しい問題となりました。
特に問題となるのは、各社の実装した新機能が非常に異なるために、
両者を吸収する仕組み作りが Web Page 作成者の課題となったこと、
及び、StyleSheet と レイアの実装により、
古いバージョンのブラウザとの共存自体が事実上困難*1になったこと、
ではないでしょうか。
*1 単に「不可能」といっているのではなく、 1つの HTML に色々なバージョンのブラウザでも 必要な情報をそれなりに表現することが難しくなったことを指します。
しかし「DHTML」やはり魅力的で挑戦しがいのある( いろんな意味で f(^^;
)
ものであり、現実的には全体の9割以上*2がバージョン4以降のブラウザであることを
考慮して「Cross Browser DHTML」採り上げることにしました。
*2 トップページの訪問者の比率です (^-^)
「Cross Browser」に関しては
旧バージョンとの共存に関する手法と2大ブラウザの互換に関する手法に分けられると思いますが、
ここでは NN4, IE4 以降のブラウザの差を吸収するための Tips を中心に扱うことにします。
このため、各スクリプトが複雑にならないようにするために
DHTML に関する項目は全て NN4, IE4以降のブラウザで閲覧することを前提としていますので
予めご了承下さい。
また、現在は ECMA による JavaScript 及び W3C による DOM( Document Object Model )の 標準化の方向に来ていますので、 将来的にはこれらの仕様を基本として 各仕様の実装レベルの差を吸収するための手法になると考えています。