HTML 屬性:crossorigin

crossorigin 屬性在 <audio><img><link><script><video> 元素上有效,提供對 CORS 的支援,定義元素如何處理跨源請求,從而能夠配置元素獲取資料的 CORS 請求。根據元素的不同,該屬性可以是 CORS 設定屬性。

媒體元素上的 crossorigin 內容屬性是一個 CORS 設定屬性。

這些屬性是列舉的,並具有以下可能的值

匿名

請求使用 CORS 頭部,並且 credentials 標誌設定為 'same-origin'。除非目標是相同來源,否則不會透過 cookie、客戶端 TLS 證書或 HTTP 身份驗證交換**使用者憑據**。

使用憑據

請求使用 CORS 頭部,credentials 標誌設定為 'include',並且始終包含**使用者憑據**。

""

將屬性名稱設定為空值,例如 crossorigincrossorigin="",與 anonymous 相同。

無效的關鍵字和空字串將被視為 anonymous 關鍵字。

預設情況下(即,未指定屬性時),根本不使用 CORS。使用者代理不會請求對資源的完全訪問許可權,並且在跨源請求的情況下,將根據相關元素的型別應用某些限制

元素 限制
imgaudiovideo 當資源放置在<canvas>中時,元素被標記為汙染的
指令碼 透過window.onerror訪問錯誤日誌將受到限制。
連結 沒有適當的 crossorigin 標頭的請求可能會被丟棄。

注意:Chromium 基於瀏覽器的 rel="icon" 不支援 crossorigin 屬性。請參閱開啟的 Chromium 問題

示例:crossorigin<script> 元素

您可以使用以下<script>元素告訴瀏覽器執行 https://example.com/example-framework.js 指令碼,而不傳送使用者憑據。

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

示例:帶有憑據的 Web 清單

即使檔案來自同一來源,在獲取需要憑據的清單時,也必須使用 use-credentials 值。

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

規範

規範
HTML 標準
# cors-settings-attributes

瀏覽器相容性

html.elements.audio.crossorigin

BCD 表格僅在啟用 JavaScript 的瀏覽器中載入。

html.elements.img.crossorigin

BCD 表格僅在啟用 JavaScript 的瀏覽器中載入。

html.elements.link.crossorigin

BCD 表格僅在啟用 JavaScript 的瀏覽器中載入。

html.elements.script.crossorigin

BCD 表格僅在啟用 JavaScript 的瀏覽器中載入。

html.elements.video.crossorigin

BCD 表格僅在啟用 JavaScript 的瀏覽器中載入。

另請參閱