Erkennen von Microsoft Edge über Ihre Website

Microsoft Edge ermöglicht Ihrer Website das Abrufen von Benutzer-Agent-Informationen. 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 die beste Möglichkeit, Browserinformationen abzurufen. Weitere Informationen finden Sie weiter unten unter User-Agent-Clienthinweise.

  • Benutzer-Agent-Zeichenfolgen sind eine Legacy-Methode zum Abrufen von Browserinformationen. Sie sind veraltet und haben in der Vergangenheit Probleme mit der Websitekompatibilität verursacht. Siehe User-Agent-Zeichenfolgen weiter unten.

Möglicherweise möchten Sie benutzern je nach Browser unterschiedliche Benutzeroberflächen bereitstellen. Wenn Sie beispielsweise Schritte zum Konfigurieren von Microsoft Edge oder einem anderen Browser für die Verwendung mit Ihrer Website angeben, können Sie den Browser erkennen und dann den entsprechenden Inhalt anzeigen.

Mechanismen für die Browsererkennung:

Mechanismus Serverseitig Clientseitig
Clienthinweise für Den Benutzer-Agent (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 ermitteln, 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.

User-Agent Clienthinweise ist eine Methode, die Datenschutzbedenken berücksichtigt, während Webseiten Browserinformationen wie Browsername, Versionsnummer, Plattform und vieles mehr erkennen können. Bald wird die User-Agent Zeichenfolge eingefroren und von verschiedenen Browsern als veraltet gekennzeichnet. Auf der Chrome-Plattformstatuswebsite wird z. B. die Änderung unter Feature: Benutzer-Agent-Zeichenfolgeninformationen reduzieren beschrieben.

Verwenden Sie User-Agent Clienthinweise, wenn Sie:

  • Ermitteln Sie, ob die neue Browseraktivität vom erwarteten Benutzer stammt.
  • Passen Sie Hinweise oder Anweisungen an, wenn der Benutzer noch nicht auf dieser Website ist.

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

  • Nicht unterstützte Browser blockieren .
  • Schränken Sie den Zugriff auf Features auf Ihrer Website ein.

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

HTTPS-Header User-Agent Clienthinweise

Wenn Microsoft Edge eine HTTPS-Anforderung an einen Server sendet, sendet es eine Reihe von Low-Entropy-User-Agent ClientHinweis-Headern. Weitere Informationen finden Sie unter Low Entropy Hint table.For more information, see Low Entropy hint table. Wenn der Server präzisere Informationen über den Browser benötigt, enthält seine Antwort einen Accept-CH Header. Der Wert dieses Antwortheaders ist eine durch Trennzeichen getrennte Liste aller Clienthinweise-Anforderungsheader, die der Server vom Browser wünscht, 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 Clienthinweisheader.

Standardmäßig sendet Microsoft Edge die Sec-CH-UAAnforderungsheader , Sec-CH-UA-Mobileund Sec-CH-UA-Platform 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 Hinweis-Anforderungsheader mit Beispielwerten aufgeführt.

User-Agent-Anforderungsheader Beispiel für User-Agent Antwortwert
Sec-CH-UA "Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"
Sec-CH-UA-Mobile ?0
Sec-CH-UA-Full-Version 120.0.2210.91
Sec-CH-UA-Platform Windows
Sec-CH-UA-Platform-Version 15.0.0
Sec-CH-UA-Arch x86
Sec-CH-UA-Bitness 64
Sec-CH-UA-Model Surface Pro

User-Agent Clienthinweise werden nur über sichere Verbindungen mit HTTPSgesendet.

JavaScript-API für User-Agent-Clienthinweise

Sie können auf User-Agent Clienthinweise zugreifen, indem Sie JavaScript auf der Clientseite verwenden. Wenn Sie den Standard navigator.userAgentDataaufrufen, wird die folgende Antwort zurückgegeben.

{
  "brands": [
    {
      "brand": "Not_A Brand",
      "version":"8"
    },
    {
      "brand": "Chromium",
      "version":"120"
    },
    {
      "brand": "Microsoft Edge",
      "version":"120"
    }
  ],
  "mobile": false,
  "platform": "Windows"
}

Verwenden Sie den folgenden Code, um eine Anforderung mit detaillierteren Informationen wie platformzu senden:

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

Die Antwort hat das folgende Format:

{
  "architecture": "x86",
  "brands": [
    {
      "brand": "Not_A Brand",
      "version": "8"
    },
    {
      "brand": "Chromium",
      "version": "120"
    },
    {
      "brand": "Microsoft Edge",
      "version": "120"
    }
  ],
  "mobile": false,
  "platform": "Windows",
  "platformVersion": "15.0.0",
  "uaFullVersion": "120.0.2210.91"
}

Weitere Informationen finden Sie unter NavigatorUAData: getHighEntropyValues()-Methode für MDN.

platformVersion-Hinweis

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 stellen Releases von Windows 10 dar, während Werte von 14.0.0 oder höher Releases von Windows 11 darstellen.

Kombinieren von User-Agent Clienthinweisen mit Featureerkennung

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

  • Verbessern der Verwaltbarkeit von Code.
  • Reduzieren sie die Fragilität von Code.
  • Reduzieren Sie codebreakage from changes to the User-Agent string.

Wenn Sie nach einem Chrome-ähnlichen Browser suchen müssen, empfiehlt Microsoft die Erkennung Chromiumvon . Dies ist die Engine, die 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 hartcodierende Überprüfungen für Marken bei bestimmten Indizes zu vermeiden. Anzeigereihenfolgen von Markennamen können sich im Laufe der Zeit ändern.

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

User-Agent Zeichenfolgen

User-Agent Zeichenfolgen sind veraltet und haben eine lange Geschichte, die Probleme mit der Websitekompatibilität verursacht hat.

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

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

Unter 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/120.0.0.0
Safari/537.36
Edg/120.0.0.0

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

Mozilla/5.0 (Linux; Android 10; K)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/120.0.0.0
Mobile Safari/537.36
EdgA/120.0.0.0

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/120.0.0.0 Safari/537.36 Edg/120.0.0.0"

Plattformbezeichner ändern sich basierend auf dem Betriebssystem, und die Versionsnummern werden im Laufe der Zeit inkrementiert. 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 die Zeichenfolge verursacht werden, die zuvor für den älteren Microsoft Edge-Browser verwendet wurde, der auf EdgeHTML basiert. Das Edg Token ist auch konsistent mit vorhandenen Token , die für iOS und Android verwendet werden.

Bezeichner für Microsoft Edge auf verschiedenen Plattformen

Unter Desktopbetriebssystemen wird Microsoft Edge häufig durch das Edg Token in der User-Agent Zeichenfolge 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 ist im web verbreitet. Wenn Sie das Edg Token einem Browsernamen zuordnen, empfiehlt Microsoft die Verwendung eines anderen Namens als für den älteren Microsoft EdgeHTML-Browser, um zu vermeiden, dass versehentlich Legacyumgehungen 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 ein Satz der Funktionen der Website möglicherweise nicht ordnungsgemäß. Wenn Microsoft über die Art von Problemen benachrichtigt wird, kontaktiert Microsoft Sie (websitebesitzer) und informiert Sie über den aktualisierten Benutzer-Agent.

Möglicherweise benötigen Sie mehr Zeit, um die Erkennungslogik des Benutzer-Agents 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 Kanäle Microsoft Edge Beta und Stable eine Liste von Benutzer-Agent-Außerkraftsetzungen. Verwenden Sie die Benutzer-Agent-Außerkraftsetzungen, während Sie Ihre Website aktualisieren. Die Liste der Außerkraftsetzungen des Benutzer-Agents wird von Microsoft bereitgestellt.

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

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

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

Die Microsoft Edge Canary- und Dev-Kanäle empfangen derzeit keine Außerkraftsetzungen des Benutzer-Agents. Die Kanäle Microsoft Edge Canary und Dev stellen Umgebungen bereit, die den Standardmäßigen Microsoft Edge-Benutzer-Agent verwenden. Verwenden Sie die Kanäle Microsoft Edge Canary und Dev, um Probleme auf Ihrer Website zu reproduzieren, die durch den Standardmäßigen Microsoft Edge-Benutzer-Agent verursacht werden.

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

  1. Öffnen Sie eine Eingabeaufforderung. Geben Sie beispielsweise cmd in das Textfeld für die Windows-Suche 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 mit dem kopierten Code wie folgt aus:

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

Microsoft Edge Legacy

Überlegungen zu Legacybrowsern:

  • Der Vorgängerversion von Microsoft Edge Browser wird nicht mehr unterstützt. Weitere Informationen finden Sie im Blogbeitrag New Microsoft Edge to replace Vorgängerversion von Microsoft Edge( New Microsoft Edge to replace Vorgängerversion von Microsoft Edge).

  • Vorgängerversion von Microsoft Edge war nur am 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 formatiertes 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

Siehe auch

Erkennen von Windows 11 mithilfe von User-Agent Clienthinweisen