Sanitizer: allowAttribute() 方法

可用性有限

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

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

Sanitizer 介面的 allowAttribute() 方法用於允許某個屬性出現在所有元素上。

指定的屬性將被新增到此 sanitizer 配置的 attributes 列表中。如果該屬性存在於 removeAttributes 列表中,它將被移除。

請注意,如果只想允許/禁止特定元素上的屬性,請使用 Sanitizer.allowElement()

語法

js
allowAttribute(attribute)

引數

attribute

一個字串,表示要全域性允許在元素上使用的屬性的名稱,或者一個包含以下屬性的物件

name

包含屬性名稱的字串。

namespace 可選

一個包含屬性名稱空間的字串,預設為 null

返回值

無 (undefined)。

示例

如何允許在元素上使用特定屬性

此示例顯示瞭如何使用 allowAttribute() 來指定某個屬性在元素上是允許的。

JavaScript

程式碼首先建立一個新的 Sanitizer 物件,該物件最初不允許任何屬性。然後,我們呼叫 allowAttribute() 方法,傳入屬性 titlemathcolor

js
// Create an allow sanitizer
const sanitizer = new Sanitizer({
  attributes: [],
});

// Allow the "title" attribute
sanitizer.allowAttribute("title");
// Allow the "mathcolor" attribute
sanitizer.allowAttribute("mathcolor");

// Log the sanitizer configuration
let sanitizerConfig = sanitizer.get();
log(JSON.stringify(sanitizerConfig, null, 2));

結果

最終配置將在下方列印。請注意,這兩個屬性都已新增到 attributes 列表中(當 sanitizer 被使用時,其他屬性將不會被允許在元素上)。

規範

規範
HTML Sanitizer API
# dom-sanitizer-allowattribute

瀏覽器相容性