Атрибут HTML: crossorigin
Атрибут crossorigin, допустимый для элементов <audio>, <img>, <link>, <script> и <video>, обеспечивает поддержку CORS, определяя, как элемент обрабатывает запросы с других доменов, тем самым позволяя настроить запросы CORS для данных, получаемых элементом. В зависимости от элемента, атрибут может быть атрибутом настроек CORS.
Атрибут crossorigin для медиа-элементов является атрибутом настроек CORS.
Эти атрибуты являются перечислимыми и имеют следующие возможные значения:
anonymous-
Запрос использует заголовки CORS, а флаг авторизации установлен в
'same-origin'. Обмен данными авторизации пользователя через куки, клиентские сертификаты TLS или аутентификацию HTTP не происходит, если целевой домен совпадает с текущим. use-credentials-
Запрос использует заголовки CORS, флаг авторизации установлен в
'include'и данные авторизации пользователя всегда включаются. ""-
Установление имени атрибута в пустое значение, например,
crossoriginилиcrossorigin="", эквивалентноanonymous.
Неверный ключевое слово и пустая строка будут обрабатываться как ключевое слово anonymous.
По умолчанию (то есть, когда атрибут не указан), CORS не используется вообще. Пользовательский агент не запрашивает разрешения на полный доступ к ресурсу, и в случае запроса с другого домена будут применены определенные ограничения, основанные на типе элемента:
| Элемент | Ограничения |
|---|---|
img, audio, video
| Когда ресурс размещен в <canvas>, элемент помечается как загрязнённый. |
script | Доступ к протоколированию ошибок через window.onerror будет ограничен. |
link | Запрос без соответствующего заголовка crossorigin может быть отброшен. |
Примечание: Атрибут crossorigin не поддерживается для rel="icon" в браузерах на базе Chromium. См. открытую проблему Chromium.
Пример: crossorigin с элементом <script>
Вы можете использовать следующий элемент <script>, чтобы указать браузеру выполнить https://example.com/example-framework.js скрипт без отправки данных авторизации пользователя.
<script src="https://example.com/example-framework.js" crossorigin="anonymous"></script>
Пример: Веб-манифест с данными авторизации
Значение use-credentials необходимо использовать при получении манифеста, требующего данных авторизации, даже если файл находится на том же домене.
<link rel="manifest" href="/app.webmanifest" crossorigin="use-credentials" />
Спецификации
| Спецификация |
|---|
| Стандарт HTML # cors-settings-attributes |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
crossorigin |
33 | ≤18 | 7412–74При использованииcrossorigin="use-credentials", куки не отправляются при переходе. См. баг 1532722. |
20 | 10 | 33 | 7914–79При использованииcrossorigin="use-credentials", куки не отправляются при переходе. См. баг 1532722. |
20 | 10 | 2.0 | 4.4.3 |
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
crossorigin |
19 | 14 | 14 | 12 | 25 | 14 | 12 | 1.5 | 4.4 | ||
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
crossorigin |
34 | 17 | 18До Firefox 83,crossorigin не поддерживается для rel="icon". |
21 | 10 | 34 | 18До Firefox 83,crossorigin не поддерживается для rel="icon". |
21 | 10 | 2.0 | 37 |
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
crossorigin |
13 | 12 | 8 | 15 | 6 | 18 | 8 | 14 | 6 | 1.0 | 4.4 |
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
crossorigin |
33 | ≤18 | 74 | 20 | 10 | 33 | 79 | 20 | 10 | 2.0 | 4.4.3 |
html.elements.audio.crossorigin
Таблицы BCD загружаются только в браузере
html.elements.img.crossorigin
Таблицы BCD загружаются только в браузере
html.elements.link.crossorigin
Таблицы BCD загружаются только в браузере
html.elements.script.crossorigin
Таблицы BCD загружаются только в браузере
html.elements.video.crossorigin
Таблицы BCD загружаются только в браузере
См. также
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/crossorigin