Webページにブラウザサポート機能を実装しようとしています。Firefox 3.6の場合は正常に動作していますが、何らかの理由でIE8のuserAgentが間違った値を返しています。
これがシナリオです。IE8で「ローカル」JavaScriptコードを実行すると、navigator.userAgentが正しい情報を返します(MSIE8.0)。しかし、このスクリプトをサーバーで実行すると、IE8ブラウザーでMSIE7.0が返されます。
何か案は?
Webページにブラウザサポート機能を実装しようとしています。Firefox 3.6の場合は正常に動作していますが、何らかの理由でIE8のuserAgentが間違った値を返しています。
これがシナリオです。IE8で「ローカル」JavaScriptコードを実行すると、navigator.userAgentが正しい情報を返します(MSIE8.0)。しかし、このスクリプトをサーバーで実行すると、IE8ブラウザーでMSIE7.0が返されます。
何か案は?
トライデントトークンもチェックする必要があります。
トライデントトークン
F12開発ツールを使用してInternetExplorerのブラウザモードを変更すると、ブラウザが以前のバージョンであるように見えるように、user-agent文字列のバージョントークンが表示されるように変更されます。これは、ブラウザー固有のコンテンツをInternet Explorerに提供できるようにするために行われ、通常、ブラウザーの現在のバージョンを反映するようにWebサイトが更新されていない場合にのみ必要です。
これが発生すると、トライデントトークンがユーザーエージェント文字列に追加されます。このトークンには、現在のブラウザモードに関係なく、ブラウザのバージョンを識別できるバージョン番号が含まれています。
IE7モードで実行していませんか?開発者設定のどこかで変更できます(F12だと思います)。
Microsoftはこのページを提供しています:
http://msdn.microsoft.com/en-us/library/ms537509(v=vs.85).aspx
Javascriptのサンプルによると、IE8は7ではなく8を返すと思います。