2016-12-07 12 views
0

ユーザーエージェントに基づいて異なるInternet Explorerのバージョンを識別するための最良の方法を知りたいと思います。 Internet Explorerの10のための構成が ユーザーエージェントに基づいてInternet Explorer 11とInternet Explorer 10を識別する最適な方法

Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko 

です

::だから

Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0) 

、質問私がこれまで見て何

は、Internet Explorer 11(ネイティブモード)のユーザエージェントがあるということです¿この "Trident/7.0"を見つけることは、ブラウザがInternet Explorer 11であるかどうかを検出するのに適していますか?

+0

回避するブラウザ固有のバグに対処しない限り、特定のブラウザではなく機能を検出することを検討してください。 –

答えて

0

短い答え:これは特定の注意点があります。確かな答えはありません。これがブラウザスニッフィングが広く推奨されていない理由の1つです。

回答時間:The IE user agent stringは条件によって異なります。たとえば、IE11のエンタープライズモードでは、IE8のユーザーエージェント文字列が報告されます。

一般的には、機能の検出、プログレッシブエンハンスメント、および優雅なフォールバックを使用して、特定の機能をサポートしていないブラウザにコンテンツエクスペリエンスを提供することが推奨されています。あるいは、ポリフィル(polyfill)またはそれに代わるアプローチがあります。 CanIUseは、代替案を見つけるのに適したリソースです。

+0

漸進的な強化と優雅なフォールバックのそれは理想的な目的です。理想的な世界で私はそれをするでしょう。しかし残念ながら私は新しいブラウザをサポートする必要がある短い予算と従来のアプリケーションを持っています。ブラウザがそれに応じて動作することが期待されるので、ブラウザがそのユーザエージェントを変更できる特定の条件の下でそれを行う点は私を悩ませるものではありません。私が望むのは、これらのブラウザのネイティブユーザエージェントを検出することです。 –

+0

悲しいことに、ユーザーエージェント文字列はその信頼できる指標ではありません。近くの状況によって異なります。トライデントトークンは最も信頼できるアプローチですが、100%ではありません。あなたの状況では、合格しなかった場合にリカバリコードを追加し、パス条件として言及した2つの値をテストすることを検討します。それは、修正しようとするための措置を講じた警告ページをまとめるだけで簡単にできます。 –

+0

よろしくお願いいたします。ありがとう。 –

関連する問題