Sanitizer: get() 方法

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

Sanitizer 介面的 get() 方法會返回一個 SanitizerConfig 字典例項,該例項代表當前的 Sanitizer 配置。

這可以用於建立一個與預設配置略有不同的 sanitizer;首先獲取並修改預設 sanitizer 配置,然後用它來構造一個新的 sanitizer。

返回的配置也可以用來檢查配置,並且可以直接傳遞給 HTML 解析函式。但請注意,傳遞 Sanitizer 物件會比傳遞配置字典更有效率,尤其是在 Sanitizer 需要多次使用時。

語法

js
get()

引數

None

返回值

一個 SanitizerConfig

示例

獲取配置

此示例展示瞭如何建立一個新的 sanitizer 並獲取其配置。

JavaScript

下面的程式碼測試了 Sanitizer 介面是否受支援,如果支援,則使用一個簡單的 SanitizerConfig 建立一個新的 Sanitizer 物件,該配置允許使用 HTML 元素:<div><p><span><script>。然後,它會獲取並記錄配置。

js
// Create sanitizer using SanitizerConfig
const sanitizer = new Sanitizer({ elements: ["div", "p", "span", "script"] });

// Get current configuration
const sanitizerConfig = sanitizer.get();

log(JSON.stringify(sanitizerConfig, null, 2));

結果

輸出將在下方日誌中顯示。請注意,在構造 sanitizer 時設定的元素會返回,但新元素也有名稱空間。另外請注意,此處允許註釋和資料屬性。

獲取預設 sanitizer

此示例展示瞭如何獲取預設 Sanitizer 的配置。然後可以修改此配置,並用於建立滿足您特定需求的新的 Sanitizer

JavaScript

下面的程式碼測試了 Sanitizer 介面是否受支援。然後,它建立預設的 Sanitizer,不傳遞任何選項,然後獲取並記錄配置。

js
// Create default sanitizer
const sanitizer = new Sanitizer();

// Get default configuration
const defaultConfig = sanitizer.get();

log(JSON.stringify(defaultConfig, null, 2));

結果

預設 sanitizer 配置將在下方日誌中顯示。請注意,預設配置相當龐大,允許許多元素和屬性。

規範

規範
HTML Sanitizer API
# dom-sanitizer-get

瀏覽器相容性