UAIdentifier
UAIdentifier が急にたくさんブックマークされててちょっとびっくり。
これ、作ったのがだいぶ前なので自分でもほとんど忘れてしまっているんだけれど、確か当時は精度の高い判別プログラムが見当たらなくて、それなら自分で作ってやろうと思い立ったのがこれを作った動機だったはず。
当時見かけた他のプログラムのほとんどは、単純に User-agent 文字列を正規表現かなんかで解析して、そこからレンダリングエンジンを判別していたようだけど、User-agent を偽装することなんてブラウザの設定を変えたりして比較的簡単に出来るので、この方法は当てにならない。自分が作ったプログラムでは (WebKit 以外は) レンダリングエンジン固有の機能が使えるかどうかで判定しているので、信頼性の高い判定が出来る。
もっとも、OS の種類とブラウザの種類の判定の方は User-agent に頼っているので、こっちは (他の判定プログラムの同様に) 信頼性は低い。とはいえ、ウェブページが (スクリプトエラーになったりレイアウトが崩れたりせずに) ちゃんと表示できるかは基本的にレンダリングエンジンの種類によるので、エンジンの種類が正しく判定できていれば OS やブラウザの種類の判定を誤っても大した問題ではないと考えている。どうせ、OS やブラウザの種類なんて調べても、閲覧者はどんなブラウザ使ってるのかな?
みたいな統計を取るくらいにしか役立たないと思うしね。
ちなみに、これの toString メソッドが返す文字列の形式は、一応結果を CGI なんかに渡したときに解釈しやすいようにということで今のような形になっているので、空白が入ってなくて読みにくいよ!
とか言わないように。
| 固定リンク
コメント