既出の Tips かもしれないが、念のため。
とある事情で、ブラウザが IE6 か IE7 でしかアクセスできない Web サイトに遭遇。
「IE6 や IE7 の機能に依存してます」というレベルじゃなくて、User Agent 文字列からブラウザの種類とバージョンを判別し、アクセスを阻止している模様。
ところが、こちらで使える PC の Internet Explorer はすべて 8 のみ。
そう、あろうことか、「IE6かIE7限定」なので、IE8すら、アクセスを阻止されるのだ。
IETester とか使う手もあろうかと思うが、ブラウザとかあまりよくわからない一般職の方々が自分のPCからアクセスする需要もあったため、少々ためらわれた。
少しばかり検索して回ったところ、IE7 を IE6 のように User Agent を偽装する、Microsoft 純正(?) のユーティリティを見つけることはできた。
Microsoft Download Center: User Agent String Utility version 2
http://bit.ly/b4Cive
しかし、これの IE8 版はどうやらなさそう。
うーん、どうしたものかなぁ、やっぱりここは直球勝負でレジストリを書き換えて User Agnet を偽装するかぁ、と考え、さらに検索。
いくつか参考になるページが引っかかっり、
MSDNライブラリ: ユーザー エージェント文字列を理解する
http://bit.ly/9qpokv
レジストリの HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent あたりをいじればよさげなのはわかった。
しかし、今ひとつ具体的な設定方法がわからない。
試しにいろいろいじってみたが、たしかに User Agent が変わるものの、うまく希望の User Agent 文字列に設定できない。
なんか、"Mozilla/4.0 Mozilla/4.0(compatible..." みたいな文字列になって、既存の User Agent 文字列の先頭に、自分がカスタマイズしようとした文字列が追加されていくようなのだ。
まぁ、自分の設定の仕方が悪いだけなのは間違いないが、いかんせん、正解にすんなりとたどり着けない。
ちなみに、User Agent 文字列の確認は、IE8 の開発者ツールのスクリプトタブで、「navigator.userAgent」を実行して確認していた。
と、ふと目を留めると、開発者ツールのウィンドウには、
「ブラウザモード:IE8(B)」のドロップダウンメニューがある。
これを開くと...
おや、「Internet Explorer 7」という選択肢が。
これを選ぶとどうなるのだろう?
ということで、「ブラウザモード:」のドロップダウンメニューから「Internet Explorer 7」を選択し、スクリプトタブで「navigator.userAgent」を実行してみると...

おお、User Agnet 文字列も、ちゃんと IE7 になっているではないか。
ということで、追加のインストールも不要で IE8 標準の機能で偽装できたので、これでしのいでもらうことにした。
ところで、IE8 の互換表示リストとかで、この、「ブラウザモード」まで制御可能なのだろうか。
また、組織内で、自前の互換表示リストを Active Directory 傘下内で自動配信できるのだろうか。
もしそれが可能なら、一般ユーザはなんら意識することなく、IE6・IE7 にアクセス制限された Web サイトにも、 IE8 でそのまま利用できるように構成できる。