回答:
では、なぜEdgeだけでなく、Mozilla、Chrome、Safariが含まれているのですか?
Webページデザイナは単に怠惰であり、特定のブラウザでのみサポートされている簡単なフレームワークを使用したいため、訪問者が特定のブラウザを使用できないようにしようとします。
また、ユーザーエージェントチェックの有用性を制限するための意図的な設計決定です。この決定は、(Spartan / Edge Developersの観点から)事実に基づいている可能性が高いです。以前は、WebサイトはIEを特に探し、ユーザーに別のブラウザーを使用するように通知していました。
Edge / Spartanはトライデントエンジンを最新化するためのMicrosoftの最初の試みであり、Edge / Spartanの目的は当時(Blink、AppleWebKit、およびGecko)の機能セットを一致させることであったため、ユーザーエージェントはすべてが1つの方法であることを宣伝するだけですWebページの設計者がIEをターゲットにしたのと同じ方法でEdgeを簡単にターゲットにできないようにするため。
Internet Explorer 11が新しいWeb標準の多くをサポートしている場合でも、今日アクセスする多くのWebサイトは、適切にコーディングされておらず、通常は古いブラウザーで表示されるようにページを表示するため、IEではうまく表示されません。一部のページはIEで正しく表示されず、ChromeやFirefoxなどの他のブラウザーでは問題なく動作します。
また、スムーズスクロールをオフにしても一部のWebサイトでは消えないぎくしゃくしたスクロールの問題があり、WebページがブラウザーをIEとして識別するために重要な要素が表示されない場合があります。
Microsoftの新しいSpartanエンジンがChromeとしてマスク
ChromeとFirefoxでも同様のことが行われます。
Mozilla / 5.0(Windows NT XY; WOW64)AppleWebKit / 537.36(KHTML、like Gecko)Chrome / 50.0.2657.0 Safari / 537.36、gzip(gfe)、gzip(gfe) "
IE11のユーザーエージェントが似ていることを指摘する価値があります。
GeckoのようなMozilla / 5.0(Windows NT 10.0; WOW64; Trident / 7.0; rv:11.0)
EdgeはChromeのふりをし、ChromeはSafariのふりをし、SafariはMozillaのふりをします。そして、EdgeはEdgeHTMLを使用しましたが、明らかにしませんでした。ChromeはBlinkを使用しましたが、明らかにしませんでしたが、ChromeはWebKitを使用するふりをしました。そして、WebkitはKHTMLのふりをし、KHTMLはGeckoのふりをしました。そして、ウェブの表面には混乱が多すぎた。
取られたマイクロソフトEdgeのユーザーエージェント文字列の名前は何?Claudeによるコメント
Microsoft Edge UA文字列:
Mozilla / 5.0(Windows NT 10.0)AppleWebKit / 537.36(KHTML、like Gecko)Chrome / 42.0.2311.135 Safari / 537.36 Edge / 12.10136
Neowinは最近、Windows 10、Spartan用のMicrosoftの新しいブラウザーがChrome UA文字列を使用することを報告しました、「Mozilla / 5.0(Windows NT 10.0; WOW64)AppleWebKit / 537.36(KHTML、like Gecko)Chrome / 39.0.2171.71 Safari / 537.36 Edge / 12.0 ″。 それは意図的に行われます。
また、文字列全体が「Edge / 12.0」で終わっていることにも気づくでしょう。Chromeではそうではありません。
これは、MicrosoftがIE 11で行ったWindows 8でのレディカルな出発点ではないことを指摘しておく必要があります。役職。
ユーザーエージェントスニッフィングとは何ですか?
多くの場合、Web開発者はブラウザー検出のためにUAスニッフィングを行います。Mozillaはブログでそれをうまく説明しています:
異なるブラウザに異なるWebページまたはサービスを提供することは、通常、悪い考えです。Webは、使用しているブラウザーやデバイスに関係なく、誰でもアクセスできるようになっています。特定のブラウザーをターゲットにするのではなく、機能の可用性に基づいて段階的に機能を強化するWebサイトを開発する方法があります。
これは、ユーザーエージェントの履歴を説明するすばらしい記事です。
多くの場合、怠惰な開発者は、UA文字列をスニッフィングし、ビューアが使用していると信じているブラウザに基づいて、Webサイトのコンテンツを無効にします。Internet Explorer 8は開発者にとって共通のフラストレーションポイントであるため、開発者はユーザーがIEのいずれかのバージョンを使用しているかどうかを頻繁に確認し、機能を無効にします。
Edgeチームは、ブログでこれについてさらに詳しく説明しています。
すべてのユーザーエージェント文字列には、トークンだけでなく「意味のある」バージョン番号など、実際に使用しているブラウザーよりも他のブラウザーに関する情報が多く含まれています。
Internet Explorer 11のUA文字列:
GeckoのようなMozilla / 5.0(Windows NT 6.3; Trident / 7.0; rv:11.0)
Microsoft Edge UA文字列:
Mozilla / 5.0(Windows NT 10.0)AppleWebKit / 537.36(KHTML、like Gecko)Chrome / 42.0.2311.135 Safari / 537.36 Edge / 12.10136
userAgentプロパティは、W3Cディスカッションで、Patrick H. Laukeによって「成長し続ける嘘のパック」として適切に説明されています。(「むしろ、実際に有用で正確な情報を少し伝えながら、古いUAスニッフィングコードがすぐに転用されない十分なレガシーキーワードを追加するというバランスをとる行為。」)
Web開発者はUAスニッフィングをできるだけ回避することをお勧めします。最新のWebプラットフォーム機能は、ほとんどすべて簡単に検出できます。たとえば、Modernizrライブラリは、特徴を検出するための素晴らしいシンプルな方法です。
過去1年間、Microsoft Edgeを検出するように更新されたUAスニッフィングサイトがいくつかありました。これは、レガシーIE11コードパスを提供するためだけです。Microsoft EdgeはIE11の動作ではなく「WebKit」の動作と一致するため、これは最良のアプローチではありません(Edge-WebKitの違いは、修正が必要なバグです)。
私たちの経験では、Microsoft Edgeはこれらのサイトの「WebKit」コードパスで最適に動作します。また、さまざまなデバイスでインターネットが利用できるようになったため、不明なブラウザが適切であると想定してください。サイトが現在既知の少数のブラウザでのみ機能するように制限しないでください。これを行うと、サイトはほぼ確実に機能しなくなります。
結論
Chrome UA文字列を提示することで、これらの開発者が使用しているハックを回避して、ユーザーに最高のエクスペリエンスを提供できます。