Kompatibilitätstabellen und das Browser-Kompatibilitätsdaten-Repository (BCD)

MDN hat ein Standardformat für Tabellen, die die Kompatibilität von gemeinsam genutzten Technologien in allen Browsern veranschaulichen, wie z.B. DOM, HTML, CSS, JavaScript, SVG usw. Um diese Daten programmatisch in mehreren Projekten verfügbar zu machen, wird ein Node.js-Paket aus dem browser-compat-data-Repository erstellt und in npm veröffentlicht.

Um die Daten innerhalb dieser Tabellen zu ändern, finden Sie umfassende Dokumentation zusammen mit den neuesten Informationen zu Konventionen und JSON-Schemata, die zur Darstellung der Daten verwendet werden, im Contributing Guide des Repositories sowie im Datenleitfaden. Wenn Sie Fragen haben oder Probleme entdecken, können Sie gerne um Hilfe bitten.

Verwendung von BCD-Daten auf MDN-Seiten

Sobald die Daten im browser-compat-data-Repo enthalten sind, können Sie beginnen, dynamisch Kompatibilitäts- und Spezifikationstabellen basierend auf diesen Daten in MDN-Seiten einzubinden.

Um mit BCD-Daten auf MDN-Seiten zu beginnen, verwenden Sie die im BCD-Quelldatei angegebene Abfragezeichenfolge für die relevanten Daten, die Sie einbeziehen möchten. Zum Beispiel:

Die Kompatibilitätsdaten-Abfrage sollte im Frontmatter der Seite im browser-compat Schlüssel angegeben werden. Zum Beispiel, AbortController würde wie unten gezeigt hinzugefügt werden:

md
---
title: AbortController
slug: Web/API/AbortController
page-type: web-api-interface
browser-compat: api.AbortController
---

Die Kompatibilitäts- und Spezifikationstabellen, die dem Schlüssel entsprechen, werden dann automatisch anstelle der {{Compat}} und {{Specifications}} Makros in der Quelle gerendert.

Wenn auf derselben Seite mehrere Kompatibilitäts-/Spezifikationstabellen erforderlich sind, können Sie den Wert von browser-compat als Array angeben. Zum Beispiel, für die Channel Messaging API würde dies wie unten gezeigt hinzugefügt werden:

md
---
title: Channel Messaging API
slug: Web/API/Channel_Messaging_API
page-type: web-api-overview
browser-compat:
  - api.MessageChannel
  - api.MessagePort
---

Die Makroaufrufe erzeugen die folgenden Tabellen (und den entsprechenden Satz von Hinweisen):

Beispiel für eine Kompatibilitätstabelle

BCD tables only load in the browser

Beispiele für Spezifikationstabellen

Specification
DOM Standard
# interface-abortcontroller