Craig Buckler「5 Reasons Why Browser Sniffing Stinks」@sitepoint
5 Reasons Why Browser Sniffing Stinks
sitepointブログより
ブラウザ検知(browser-sniffing)が薦められない理由を5つピックアップするという主旨のエントリ
以下斜め読んだ内容。
- ブラウザ検知
- はじめに結論
- ブラウザ検知使うな
- 理由1:文字列のパースが大変
- navigator.userAgentやHTTP_USER_AGENTで取得できるUA情報の文字列に規則性がない。
- ブラウザ名、バージョンNO、レンダリングエンジン、OS、言語、media player、.NET frameworkの情報が含まれ、組み合わせが色々ある
- あらゆる組み合わせをテストすることが無理
- Opera 10は、ブラウザ検知コードを考慮して、UA情報を9.8に修正した
- 理由2:ブラウザ増え過ぎた
- 昔。3つの主要ブラウザ。1?2のバージョン。
- 今。5つの主要ブラウザ。複数のバージョン。複数のプラットフォーム。
- 理由3:スケールしにくくメンテナンス大変
- ブラウザ検知のコードセットは巨大になる。メンテナンスが大変
- 新ブラウザ、新バージョンが登場すれば、既存のコードセットが破綻するリスクあり
- 理由4:ブラウザは偽装する
- 理由5:必要になる場面が少ない
- ブラウザ検知が必要になる場面
- progressive enhancementを実践するとき
- 例えば、IE5.5〜6ではPNG24bitをサポートしていない問題への対処では、ブラウザ検知は必要になる
- この問題もIE5.5?6が使われなくなれば解消する問題
- 例えば、IE5.5〜6ではPNG24bitをサポートしていない問題への対処では、ブラウザ検知は必要になる
- progressive enhancementを実践するとき
- クロスブラウザなCSS
- ブラウザ検知不要
- IE向けCSSは条件付きコメントで対処可能
- 個人的好み。条件付きコメント使ってやることはブラウザ検知と同じなので好きじゃない
- IE向けCSSは条件付きコメントで対処可能
- ブラウザ検知不要
- コメント欄