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

另見