HTML 屬性:crossorigin
crossorigin 屬性,用於 <audio>、<img>、<link>、<script> 和 <video> 元素,支援 CORS,定義了元素如何處理跨域請求,從而能夠配置元素獲取資料的 CORS 請求。根據元素的不同,該屬性可以是一個 CORS 設定屬性。
媒體元素上的 crossorigin 內容屬性是一個 CORS 設定屬性。
這些屬性是列舉型的,具有以下可能值:
anonymous-
請求使用 CORS 標頭,並且憑據標誌設定為
'same-origin'。除非目標是同源,否則不會透過 cookie、客戶端 TLS 證書或 HTTP 身份驗證交換使用者憑據。 use-credentials-
請求使用 CORS 標頭,憑據標誌設定為
'include',並且使用者憑據始終被包含。 ""-
將屬性名設定為一個空值,例如
crossorigin或crossorigin="",與anonymous相同。
無效的關鍵字和空字串將按 anonymous 關鍵字處理。
預設情況下(即,未指定屬性時),根本不使用 CORS。使用者代理不會請求訪問資源的全部許可權,並且在跨域請求的情況下,將根據相關元素的型別應用某些限制。
| Element | 限制 |
img、audio、video |
當資源放置在 <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
載入中…