Erkennung von Microsoft Edge auf Ihrer Website

Microsoft Edge ermöglicht Es Ihrer Website, Benutzer-Agent-Informationen abzurufen. Sie verwenden die Benutzer-Agent-Informationen, um Webseiten für den Browser jedes Benutzers korrekt darzustellen. Browser bieten Mechanismen für Websites, um Browserinformationen wie Marke, Versionsnummer und Hostbetriebssystem zu erkennen.

  • Benutzer-Agent-Clienthinweise sind ein verbesserter Mechanismus zum Abrufen von Browserinformationen. Weitere Informationen finden Sie unten in den Benutzer-Agent-Clienthinweisen.

  • Benutzer-Agent-Zeichenfolgen sind veraltet. sie sind veraltet und haben einen Verlauf, der Probleme mit der Websitekompatibilität verursacht. Siehe "Benutzer-Agent-Zeichenfolgen" weiter unten.

Möglicherweise möchten Sie Benutzern basierend auf ihrem Browser unterschiedliche Benutzeroberflächen bereitstellen. Wenn Sie beispielsweise Schritte zum Konfigurieren Microsoft Edge oder eines anderen Browsers für die Verwendung mit Ihrer Website ausführen, sollten Sie den Browser erkennen und dann den entsprechenden Inhalt anzeigen.

Mechanismen für die Browsererkennung:

Mechanismus Serverseitig Clientseitig
Benutzer-Agent-Clienthinweise (empfohlen) Sec-CH-UA HTTPS-Header navigator.userAgentData JavaScript-Methode
User-Agent-Zeichenfolge (Legacy) User-Agent HTTPS-Header navigator.userAgent JavaScript-Methode

Featureerkennung

Microsoft empfiehlt, nach Möglichkeit zu erkennen, ob ein Feature in Ihrem Browser unterstützt wird, anstatt den Browser zu erkennen.

Wenn Sie Browser erkennen müssen, empfiehlt Microsoft, User-Agent Clienthinweise wie folgt zusammen mit der Featureerkennung zu verwenden.

User-Agent-Clienthinweise

Microsoft Edge unterstützt User-Agent Clienthinweise ab Version 90.

User-Agent Clienthinweise ist eine übersichtlichere und datenschutzfreundlichere Methode für den Zugriff auf Browserinformationen wie Browsername, Versionsnummer, Plattform und vieles mehr. Bald wird die User-Agent Zeichenfolge fixiert und von verschiedenen Browsern als veraltet eingestuft. Beispielsweise beschreibt die Chrome Platform Status-Website die Änderung in Feature: Reduzieren von Benutzer-Agent-Zeichenfolgeninformationen.

Verwenden Sie User-Agent Clienthinweise, wenn Sie folgende Aktionen ausführen möchten:

  • Ermitteln Sie, ob neue Browseraktivitäten vom erwarteten Benutzer stammen.
  • Passen Sie Hinweise oder Anweisungen an, wenn der Benutzer neu auf dieser Website ist.

Verwenden Sie User-Agent Clienthinweise nicht für Folgendes:

  • Blockieren von nicht unterstützten Browsern.
  • Einschränken des Zugriffs auf Features auf Ihrer Website.

Weitere Informationen finden Sie in der Spezifikation unter W3C Community Group Draft Report: User-Agent Client Hints.

User-Agent CLIENT Hints HTTPS-Header

Wenn Microsoft Edge eine HTTPS-Anforderung an einen Server sendet, sendet sie eine Reihe von Low-Entropie-User-Agent Client Hints-Headern. Weitere Informationen finden Sie in der Tabelle "Low entropy hint". Wenn der Server detailliertere Informationen über den Browser benötigt, enthält die Antwort einen Accept-CH Header. Der Wert dieses Antwortheaders ist eine durch Kommas getrennte Liste aller Client Hints-Anforderungsheader, die der Server vom Browser benötigt, z Accept-CH: Sec-CH-UA-Full-Version,Sec-CH-UA-Platform-Version. B. . Die nächste Microsoft Edge HTTPS-Anforderung an den Server enthält die angegebenen User-Agent Client Hints-Header.

Standardmäßig sendet Microsoft Edge die Sec-CH-UAHeader und Sec-CH-UA-Mobile``Sec-CH-UA-Platform Anforderungsheader im folgenden Format.

Sec-CH-UA: "Chromium";v="92", "Microsoft Edge";v="92", "Placeholder;Browser Brand";v="99"
Sec-CH-UA-Mobile: ?0
Sec-CH-UA-Platform: "Windows"

In der folgenden Tabelle sind alle verfügbaren Hinweisanforderungsheader mit Beispielwerten aufgeführt.

User-Agent Anforderungsheader Beispiel für User-Agent Antwortwert
Sec-CH-UA "Chromium";v="91", "Microsoft Edge";v="91", "GREASE";v="99"
Sec-CH-UA-Mobile ?0
Sec-CH-UA-Full-Version 91.0.866.0
Sec-CH-UA-Platform Windows
Sec-CH-UA-Platform-Version 10.0
Sec-CH-UA-Arch x86
Sec-CH-UA-Bitness 64
Sec-CH-UA-Model Surface Pro

Hinweis

User-Agent Clienthinweise werden nur über sichere Verbindungen mithilfe HTTPSvon gesendet.

JavaScript-API für User-Agent-Clienthinweise

Sie können auf User-Agent Clienthinweise mitHilfe von JavaScript auf clientseitiger Seite zugreifen. Wenn Sie den Standardwert navigator.userAgentDataaufrufen, wird die folgende Antwort zurückgegeben.

{
  "brands": [
    {
      "brand": "Chromium",
      "version":"91"
    },
    {
      "brand": "Microsoft Edge",
      "version":"91"
    },
    {
      "brand": "GREASE",
      "version":"99"
    }
  ],
  "mobile": false 
}

Microsoft Edge umfasst einen GREASE Markenwert, der sich im Laufe der Zeit ändert. Es verhindert, dass Websites mit der gesamten Markenliste übereinstimmen, wenn versucht wird, eine Version von Microsoft Edge zu erkennen.

Verwenden Sie den folgenden Code, um eine Anforderung für detailliertere Informationen zu platformsenden:

navigator.userAgentData.getHighEntropyValues(
   ["architecture", "model", "platform", "platformVersion", "uaFullVersion"])
      .then(ua => { console.log(ua) });

Die Antwort hat das folgende Format:

{architecture: "x86",
   model: "",
   platform: "Windows",
   platformVersion: "10.0",
   uaFullVersion: "92.0.866.0"}

Weitere Informationen finden Sie unter getHighEntropyValues().

platformVersion Hint

Das Betriebssystemversionstoken im User-Agent Header wurde für Windows 11 nicht aktualisiert und meldet Windows NT 10.0weiterhin .

Um zwischen Windows 10 und Windows 11 zu unterscheiden, fordern Sie den platformVersion Clienthinweis in Microsoft Edge an. Werte zwischen und einschließlich 1.0.0 und 12.0.0 darstellen Versionen von Windows 10, während Werte von 14.0.0 oder höher Versionen von Windows 11 darstellen.

Kombinieren von User-Agent Clienthinweisen mit featureerkennung

Die Kombination von User-Agent Clienthinweisen mit der Featureerkennung ist eine effektive Möglichkeit, kompatible Webinhalte bereitzustellen. Microsoft empfiehlt die Verwendung dieses Musters für Folgendes:

  • Verbessern sie die Wartbarkeit von Code.
  • Verringern Sie die Anfälligkeit von Code.
  • Reduzieren Sie code breakage from changes to the User-Agent string.

Wenn Sie nach einem Chrome-ähnlichen Browser suchen müssen, empfiehlt Microsoft die Erkennung Chromium, bei der es sich um das Modul handelt, das Microsoft Edge unterstützt.

Verwenden Sie diese Methode, um die Chromium Marke zu überprüfen und die Erkennung auf alle betroffenen Chromium-basierten Browser anzuwenden:

function isChromium() {
    for (brand_version_pair of navigator.userAgentData.brands) {
        if (brand_version_pair.brand == "Chromium"){
            return true;
        }
    }
    return false;
}

Verwenden Sie die oben genannte Methode, um Hartcodierungsprüfungen für Marken in bestimmten Indizes zu vermeiden. Anzeigen von Bestellungen von Marken kann sich im Laufe der Zeit ändern.

Wenn Sie die Featureerkennung nicht verwenden können, verwenden Sie keine hartcodierte Liste bekannter Chromium-basierter Browser zur Überprüfung. Beispiele für hartcodierte Browsernamen sind u. a Microsoft Edge Google Chrome. Die Featureerkennung ist möglicherweise nicht verfügbar, da eine Korrektur für einen Chromium Fehler in späteren Versionen vermieden werden muss und die betroffenen Browser schwer zu erkennen sind.

User-Agent Zeichenfolgen

User-Agent Zeichenfolgen sind veraltet und verursachen häufig Probleme mit der Websitekompatibilität.

Nach Möglichkeit empfiehlt Microsoft, die Verwendung Microsoft Edge Browsererkennungslogik basierend auf der User-Agent Zeichenfolge möglichst gering zu halten. Wenn Sie einen guten Grund haben, den Browser zu erkennen, empfiehlt das Microsoft Edge-Team die Verwendung von Benutzer-Agent-Clienthinweisen als primäre Erkennungslogik. Benutzer-Agent-Clienthinweise verringern auch die Komplexität des Browsererkennungscodes.

Als Legacyverweis wurden die folgenden Informationen in User-Agent Zeichenfolge eingeschlossen.

Auf Windows enthält der HTTP-Anforderungsheader User-Agent Folgendes:

Mozilla/5.0 (Windows NT 10.0; Win64; x64)  
AppleWebKit/537.36 (KHTML, like Gecko)  
Chrome/90.0.4430.85  
Safari/537.36  
Edg/90.0.818.46

Unter Android enthält der HTTP-Anforderungsheader User-Agent Folgendes:

Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N)  
AppleWebKit/537.36 (KHTML, like Gecko)  
Chrome/90.0.4430.85  
Mobile Safari/537.36  
EdgA/90.0.818.46

Der Antwortwert der navigator.userAgent Methode verwendet das folgende Format:

"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4501.0 Safari/537.36 Edg/91.0.866.0"

Plattformbezeichner ändern sich basierend auf dem Betriebssystem, und Versionsnummern werden im Laufe der Zeit erhöht. Das Format ist identisch mit dem Chromium Benutzer-Agent mit dem Hinzufügen eines neuen Edg Tokens am Ende. Microsoft hat das Edg Token ausgewählt, um Kompatibilitätsprobleme zu vermeiden, die durch Edge zeichenfolge verursacht wurden, die zuvor für den älteren Microsoft Edge Browser basierend auf EdgeHTML verwendet wurde. Das Edg Token ist auch mit vorhandenen Token konsistent, die für iOS und Android verwendet werden.

Microsoft Edge Änderung der Versionsinkremente

die Hauptversionsnummer Microsoft Edge wird in Kürze von zwei Ziffern erhöht, zEdg/99. B. auf drei Ziffern wie in Edg/100. Websitebesitzer sollten sicherstellen, dass ihre User-Agent Analyselogik stabil ist und wie erwartet funktioniert.

Bezeichner für Microsoft Edge auf verschiedenen Plattformen

Auf Desktopbetriebssystemen wird Microsoft Edge häufig durch das Edg Token in der zeichenfolge User-Agent identifiziert. Auf einigen Geräteplattformen wird jedoch wie folgt ein anderes Token für Microsoft Edge verwendet:

Plattform Bezeichnertoken
Desktop (Windows/Mac/Linux) Edg
iPhone/iPad EdgiOS
Android (Mobil/Tablet) EdgA

Vorgängerversion von Microsoft Edge wird nicht mehr unterstützt. Weitere Informationen finden Sie im Abschnitt Vorgängerversion von Microsoft Edge.

Zuordnen der User-Agent Zeichenfolge zu einem erweiterten Browsernamen

Ordnen Sie die User-Agent Zeichenfolgentoken lesbaren Browsernamen zu, die im Code verwendet werden sollen. Diese Vorgehensweise wird im Web häufig verwendet. Wenn Sie das neue Edg Token einem Browsernamen zuordnen, empfiehlt Microsoft, einen anderen Namen als den für den älteren Microsoft EdgeHTML-Browser zu verwenden, um zu vermeiden, dass versehentlich Legacy-Problemumgehungen angewendet werden, die nicht für Chromium-basierte Browser gelten.

User-Agent Außerkraftsetzungen

Manchmal erkennt eine Website den Microsoft Edge-Benutzer-Agent nicht. Daher funktioniert eine Reihe von Features der Website möglicherweise nicht ordnungsgemäß. Wenn Microsoft über die Arten von Problemen benachrichtigt wird, kontaktiert Microsoft Sie (einen Websitebesitzer) und informiert Sie über den aktualisierten Benutzer-Agent.

Möglicherweise benötigen Sie mehr Zeit, um die Benutzer-Agent-Erkennungslogik für Ihre Website zu aktualisieren und zu testen, um die von Microsoft gemeldeten Probleme zu beheben. Um die Kompatibilität für Ihre Benutzer zu maximieren, verwenden die Microsoft Edge Beta und stabilen Kanäle eine Liste der Benutzer-Agent-Außerkraftsetzungen. Verwenden Sie die Benutzer-Agent-Außerkraftsetzungen, während Sie Ihre Website aktualisieren. Die Liste der Benutzer-Agent-Außerkraftsetzungen wird von Microsoft bereitgestellt.

Die Außerkraftsetzungen geben neue Benutzer-Agent-Werte an, die Microsoft Edge sendet, anstelle des Standardbenutzer-Agents für bestimmte Websites. So zeigen Sie die Liste der derzeit angewendeten Benutzer-Agent-Außerkraftsetzungen an:

  1. Öffnen Sie den Microsoft Edge Beta- oder Stable-Kanal.

  2. Wechseln Sie zu edge://compat/useragent.

Die Microsoft Edge Canary- und Dev-Kanäle erhalten derzeit keine Benutzer-Agent-Außerkraftsetzungen. Die Microsoft Edge Canary- und Dev-Kanäle bieten Umgebungen, die den Standard-Microsoft Edge-Benutzer-Agent verwenden. Verwenden Sie die Microsoft Edge Canary- und Dev-Kanäle, um Probleme auf Ihrer Website zu reproduzieren, die durch den Standard-Microsoft Edge-Benutzer-Agent verursacht wurden.

So deaktivieren Sie Benutzer-Agent-Außerkraftsetzungen in den Microsoft Edge Beta- oder Stable-Kanälen:

  1. Öffnen Sie eine Eingabeaufforderung. Geben Sie z. B. cmd in das Windows Suchtextfeld ein, und wählen Sie die Eingabeaufforderungs-App aus.

  2. Kopieren Sie den folgenden Code:

    --disable-domain-action-user-agent-override
    
  3. Führen Sie die Microsoft Edge App mithilfe des kopierten Codes wie folgt aus:

    {path/to/microsoft/edge.ext} --disable-domain-action-user-agent-override
    

Vorgängerversion von Microsoft Edge

Überlegungen zu älteren Browsern:

  • Der Vorgängerversion von Microsoft Edge Browser wird nicht mehr unterstützt. Informationen zum Ersetzen von Vorgängerversion von Microsoft Edge finden Sie im Blogbeitrag "Neue Microsoft Edge".

  • Vorgängerversion von Microsoft Edge war nur auf Windows 10 verfügbar.

  • Von allen in diesem Artikel beschriebenen User-Agent Mechanismen ist der einzige unterstützte browserspezifische Mechanismus für Vorgängerversion von Microsoft Edge User-Agent Zeichenfolge.

  • Die User-Agent Zeichenfolge für Vorgängerversion von Microsoft Edge enthält das Edge Token.

    Ein vollständig gebildetes Beispiel für eine Vorgängerversion von Microsoft Edge User-Agent Zeichenfolge: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.19582

Weitere Informationen

Erkennen von Windows 11 mit User-Agent Clienthinweisen