アカウント名:
パスワード:
オフトピ気味ではありますが、GeckoブラウザのUA名に入っている日付は単純にビルドされた日時なのでバージョンの判定には使えません。例えば、trunkの20081201とリリース版であるFx3.0.xの20081202があったとしてもGeckoエンジンとして最新のものはtrunkの20081201になります。
Geckoの場合、"rv:1.9.2a1pre"といったrv以降のバージョン番号でバージョンを検査できますが、alpha/beta、さらにそれのpreview版があり、たびたび命名規則が変更されていることから、(将来への互換性という面で)危険なコードを書かなくては検査できません。ちなみに、Geckoであるか否かは、WebKitが姑息なことをやってくれているので、"Gecko/"と、最後のスラッシュがあるかどうかまで検査する必要があります。("Firefox"という文字列の検索は論外。TrunkビルドやSeamonkeyやCaminoが弾かれてしまいます。)
UA判定は普通に考えると、ブラックリストには使えてもホワイトリストとしては使うべきではないものですが、実際にはホワイトリストに使われてしまう(しかもそのホワイトリストが非道すぎる)ということが多々あります。大手のサイトで現在懸案となっているのは「goo 地図」です: bug 6392 [mozilla.gr.jp]
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy
誰も (スコア:3, すばらしい洞察)
Re: (スコア:2, おもしろおかしい)
Re: (スコア:2, すばらしい洞察)
IEだろうがfirefoxだろうがなりうる問題でしょ
ただ、シェア的にoperaだとWeb管理者も気付きそうにないという問題はあるだろうけど
Re:誰も (スコア:1)
◆IZUMI162i6 [mailto]
Re:誰も (スコア:2, 興味深い)
オフトピ気味ではありますが、GeckoブラウザのUA名に入っている日付は単純にビルドされた日時なのでバージョンの判定には使えません。例えば、trunkの20081201とリリース版であるFx3.0.xの20081202があったとしてもGeckoエンジンとして最新のものはtrunkの20081201になります。
Geckoの場合、"rv:1.9.2a1pre"といったrv以降のバージョン番号でバージョンを検査できますが、alpha/beta、さらにそれのpreview版があり、たびたび命名規則が変更されていることから、(将来への互換性という面で)危険なコードを書かなくては検査できません。ちなみに、Geckoであるか否かは、WebKitが姑息なことをやってくれているので、"Gecko/"と、最後のスラッシュがあるかどうかまで検査する必要があります。("Firefox"という文字列の検索は論外。TrunkビルドやSeamonkeyやCaminoが弾かれてしまいます。)
UA判定は普通に考えると、ブラックリストには使えてもホワイトリストとしては使うべきではないものですが、実際にはホワイトリストに使われてしまう(しかもそのホワイトリストが非道すぎる)ということが多々あります。大手のサイトで現在懸案となっているのは「goo 地図」です: bug 6392 [mozilla.gr.jp]
Re:誰も (スコア:1)
Branch tag (rv:の部分)と組み合わせてポイントリリースの識別に使えるとも書かれています。