HTML-Attribut crossorigin
Das Attribut crossorigin ist für die Elemente <audio>, <img>, <link>, <script> und <video> gültig. Es unterstützt CORS, indem es festlegt, wie das Element ursprungsübergreifende Anfragen behandelt. Dadurch lässt sich konfigurieren, wie CORS-Anfragen für die vom Element abgerufenen Daten erfolgen. Je nach Element kann es sich um ein CORS-Einstellungsattribut handeln.
Bei Medienelementen ist das Inhaltsattribut crossorigin ein CORS-Einstellungsattribut.
Diese Attribute sind Aufzählungsattribute und können folgende Werte annehmen:
anonymous-
Die Anfrage verwendet CORS-Header (
modeist aufcorsgesetzt) undcredentialsist auf'same-origin'gesetzt. Das bedeutet, dass Anmeldedaten wie Cookies, clientseitige TLS-Zertifikate und HTTP-Authentifizierungsheader nur gesendet werden, wenn das Ziel denselben Ursprung hat. use-credentials-
Die Anfrage verwendet CORS-Header (
modeist aufcorsgesetzt) undcredentialsist auf'include'gesetzt. Anmeldedaten werden daher immer gesendet, auch bei ursprungsübergreifenden Anfragen. ""-
Ein leerer Attributwert, etwa bei
crossoriginodercrossorigin="", entsprichtanonymous. Ungültige Werte werden ebenfalls wie ein leerer String behandelt.
Standardmäßig, also wenn das Attribut nicht angegeben ist, werden Ressourcen im Allgemeinen ohne CORS abgerufen. Eine Ausnahme bilden Modulskripte, die immer CORS verwenden; bei ihnen hat daher nur crossorigin="use-credentials" eine Wirkung. Der User Agent fordert keine Berechtigung für den vollständigen Zugriff auf die Ressource an. Bei einer ursprungsübergreifenden Anfrage gelten je nach Elementtyp bestimmte Einschränkungen:
| Element | Einschränkungen |
img, audio, video |
Wenn die Ressource in einem <canvas> verwendet wird, wird das Element als tainted markiert.
|
script |
Der Zugriff auf die Fehlerprotokollierung über [`window.onerror`](/de/docs/Web/API/Window/error_event) ist eingeschränkt. |
link |
Eine Anfrage ohne geeigneten crossorigin-Header kann verworfen werden.
|
Hinweis:
Das Attribut crossorigin wird für rel="icon" in Chromium-basierten Browsern nicht unterstützt. Siehe den offenen Chromium-Issue.
Beispiele
>crossorigin mit dem Element <script>
Mit dem folgenden <script>-Element können Sie einen Browser anweisen, das Skript https://example.com/example-framework.js auszuführen, ohne Benutzeranmeldedaten zu senden.
<script
src="https://example.com/example-framework.js"
crossorigin="anonymous"></script>
Webmanifest mit Anmeldedaten
Der Wert use-credentials muss verwendet werden, wenn ein Manifest abgerufen wird, das Anmeldedaten erfordert – auch wenn die Datei vom selben Ursprung stammt.
<link rel="manifest" href="/app.webmanifest" crossorigin="use-credentials" />
Spezifikationen
| Spezifikation |
|---|
| HTML> # cors-settings-attributes> |