XMLHttpRequest 中的 HTML
Baseline 廣泛可用 *
W3C 的 XMLHttpRequest 規範為 XMLHttpRequest 添加了 HTML 解析支援,而 XMLHttpRequest 最初僅支援 XML 解析。此功能允許 Web 應用程式透過 XMLHttpRequest 獲取已解析的 DOM 形式的 HTML 資源。
有關如何使用 XMLHttpRequest 的一般性概述,請參閱 使用 XMLHttpRequest。
侷限性
為了 discouraging XMLHttpRequest 的同步使用,HTML 支援在同步模式下不可用。此外,只有當 responseType 屬性被設定為 "document" 時,HTML 支援才可用。此限制可以避免在舊程式碼使用 XMLHttpRequest 的預設模式檢索 text/html 資源的 responseText 時,浪費時間進行無用的 HTML 解析。此外,此限制還可以避免舊程式碼在 HTTP 錯誤頁面(通常具有 text/html 響應體)中假設 responseXML 為 null 時出現的問題。
用法
使用 XMLHttpRequest 將 HTML 資源作為 DOM 檢索,其工作方式與使用 XMLHttpRequest 將 XML 資源作為 DOM 檢索類似,只是您不能使用同步模式,並且必須在呼叫 open() 之後、呼叫 send() 之前,透過將字串 "document" 分配給 XMLHttpRequest 物件的 responseType 屬性來顯式請求文件。
const xhr = new XMLHttpRequest();
xhr.onload = () => {
console.log(xhr.responseXML.title);
};
xhr.open("GET", "file.html");
xhr.responseType = "document";
xhr.send();
字元編碼
如果字元編碼在 HTTP Content-Type 標頭中宣告,則使用該字元編碼。如果未宣告,則使用位元組順序標記(BOM)指示的編碼。如果仍然未宣告,則使用檔案中前 1024 位元組內宣告的 <meta> 元素中的編碼。否則,檔案將以 UTF-8 解碼。
規範
| 規範 |
|---|
| XMLHttpRequest # interface-xmlhttprequest |
瀏覽器相容性
載入中…