prototype.js が内部で使っているブラウザの判定は、 Prototype.Browser プロパティで行いますが、個別のブラウザで判断せずに 仕様別で判断しています。( 内部で使う為ですし ) ですが、もちろん外部からも使えるわけです。ただ実装がちょっと変わっていて、 Prototype.Browser という プロパティに 無名 function の 戻り値をセット していて、しかもその戻り値がオブジェクトになっているので、IE かどうかは、 if ( Prototype.Browser.IE ) { // IE の処理 } というふうに判定します。 その他の種別として、Opera、WebKit、Gecko、MobileSafari となります。 その中の IE の判定が結構重要なので、prototype.js が無くても使えるように 考えてみたのが以下の記述です。
!!window.attachEvent && !window.opera
|
【prototype.jsの最新記事】
- prototype.js (1.7.2) : Browser プロパティ
- prototype.js でブラウザの種類を知る為の簡単な拡張。
- prototype.js でクロスドメインの Ajax の読み込みテスト
- Google の prototype.js を使う
- prototype.js 内の getElementsByName の代わりになるメソッド
- prototype.js : $ 関数
- prototype.js : 1.6.1と1.7_rc2 の evalJSON の違い
- JavaScript : prototype.js(1.6.1) の Try.these と XMLHttpRequest
- prototype.js の Object.extend でプロパティを追加する
- prototype.js で、$(id) 関数が name 属性のみの場合 IE 以外で使え無いのをとりあえず使えるようにする