HTML 属性:crossorigin

crossorigin 属性,用于 <audio><img><link><script><video> 元素,支持 CORS,定义了元素如何处理跨域请求,从而能够配置元素获取数据的 CORS 请求。根据元素的不同,该属性可以是一个 CORS 设置属性。

媒体元素上的 crossorigin 内容属性是一个 CORS 设置属性。

这些属性是枚举型的,具有以下可能值:

anonymous

请求使用 CORS 标头,并且凭据标志设置为 'same-origin'。除非目标是同源,否则不会通过 cookie、客户端 TLS 证书或 HTTP 身份验证交换用户凭据

use-credentials

请求使用 CORS 标头,凭据标志设置为 'include',并且用户凭据始终被包含。

""

将属性名设置为一个空值,例如 crossorigincrossorigin="",与 anonymous 相同。

无效的关键字和空字符串将按 anonymous 关键字处理。

默认情况下(即,未指定属性时),根本不使用 CORS。用户代理不会请求访问资源的全部权限,并且在跨域请求的情况下,将根据相关元素的类型应用某些限制。

Element 限制
imgaudiovideo 当资源放置在 <canvas> 中时,元素将被标记为受污染
script 通过 window.onerror 访问错误日志将受到限制。
link 缺少适当 crossorigin 标头的请求可能会被丢弃。

注意: 在基于 Chromium 的浏览器中,crossorigin 属性不支持 rel="icon"。请参阅公开的 Chromium 问题

示例:crossorigin<script> 元素

您可以使用以下 <script> 元素,告知浏览器在不发送用户凭据的情况下执行 https://example.com/example-framework.js 脚本。

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

示例:带凭据的 Web manifest

当获取需要凭据的 manifest 时,必须使用 use-credentials 值,即使该文件来自同一来源。

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

规范

规范
HTML
# cors-settings-attributes

浏览器兼容性

html.elements.audio.crossorigin

html.elements.img.crossorigin

html.elements.link.crossorigin

html.elements.script.crossorigin

html.elements.video.crossorigin

另见