HTML-Attribut: crossorigin

Das crossorigin-Attribut, gültig für die <audio>, <img>, <link>, <script> und <video> Elemente, bietet Unterstützung für CORS. Es definiert, wie das Element Cross-Origin-Anfragen behandelt, und ermöglicht so die Konfiguration der CORS-Anfragen für die abgerufenen Daten des Elements. Je nach Element kann das Attribut ein CORS-Einstellungsattribut sein.

Das crossorigin-Inhaltsattribut bei Medienelementen ist ein CORS-Einstellungsattribut.

Diese Attribute sind aufgezählt und haben die folgenden möglichen Werte:

anonymous

Die Anfrage verwendet CORS-Header und das Berechtigungsflag ist auf 'same-origin' gesetzt. Es erfolgt kein Austausch von Benutzeranmeldeinformationen über Cookies, clientseitige TLS-Zertifikate oder HTTP-Authentifizierung, es sei denn, das Ziel ist derselbe Ursprung.

use-credentials

Die Anfrage verwendet CORS-Header, das Berechtigungsflag ist auf 'include' gesetzt und Benutzeranmeldeinformationen werden immer eingeschlossen.

""

Das Setzen des Attributnamens auf einen leeren Wert, wie crossorigin oder crossorigin="", entspricht anonymous.

Ein ungültiges Schlüsselwort und ein leerer String werden als das Schlüsselwort anonymous behandelt.

Standardmäßig (das heißt, wenn das Attribut nicht angegeben ist) wird CORS überhaupt nicht verwendet. Der Benutzeragent wird keine Erlaubnis für den vollständigen Zugriff auf die Ressource anfordern, und im Fall einer Cross-Origin-Anfrage werden bestimmte Einschränkungen basierend auf dem betreffenden Elementtyp angewendet:

Element Einschränkungen
img, audio, video Wenn die Ressource in einem <canvas> platziert wird, wird das Element als verunreinigt markiert.
script Der Zugriff auf die Fehlerprotokollierung über [`window.onerror`](/de/docs/Web/API/Window/error_event) wird eingeschränkt.
link Eine Anfrage ohne passenden crossorigin-Header kann verworfen werden.

Hinweis: Das crossorigin-Attribut wird für rel="icon" in auf Chromium basierten Browsern nicht unterstützt. Siehe das offene Chromium-Problem.

Beispiel: crossorigin mit dem <script>-Element

Sie können das folgende <script>-Element verwenden, um einem Browser mitzuteilen, das Skript https://example.com/example-framework.js auszuführen, ohne Benutzeranmeldeinformationen zu senden.

html
<script
  src="https://example.com/example-framework.js"
  crossorigin="anonymous"></script>

Beispiel: Web-Manifest mit Anmeldeinformationen

Der Wert use-credentials muss verwendet werden, wenn ein Manifest abgerufen wird, das Anmeldeinformationen erfordert, selbst wenn die Datei vom selben Ursprung kommt.

html
<link rel="manifest" href="/app.webmanifest" crossorigin="use-credentials" />

Spezifikationen

Specification
HTML Standard
# cors-settings-attributes

Browser-Kompatibilität

html.elements.audio.crossorigin

BCD tables only load in the browser

html.elements.img.crossorigin

BCD tables only load in the browser

html.elements.link.crossorigin

BCD tables only load in the browser

html.elements.script.crossorigin

BCD tables only load in the browser

html.elements.video.crossorigin

BCD tables only load in the browser

Siehe auch