元素:setHTMLUnsafe() 方法

基线 2024

新可用

2024 年 7 月起,此功能可在最新的设备和浏览器版本中使用。此功能可能不适用于较旧的设备或浏览器。

setHTMLUnsafe()Element 接口的一种方法,用于将 HTML 字符串解析为 DocumentFragment,然后用该片段替换 DOM 中元素的子树。输入的 HTML 可以包含 声明式 Shadow 根

方法名称中的后缀“Unsafe”表示该方法不会对可能不安全的 XSS 相关输入(例如 <script> 元素以及脚本或事件处理程序内容属性)进行清理或移除。

如果 HTML 字符串在特定的 Shadow 宿主中定义了多个 声明式 Shadow 根,则只创建第一个 ShadowRoot — 后续声明将被解析为该 Shadow 根中的 <template> 元素。

注意:当 HTML 字符串可能包含声明式 Shadow 根时,应使用此方法代替 Element.innerHTML

语法

js
setHTMLUnsafe(html)

参数

html

定义要解析的 HTML 的字符串。

返回值

无 (undefined)。

异常

无。

示例

以下代码演示了如何解析一段 HTML 字符串并将其插入 ID 为 targetElement 中。

js
const value = "<p>This is a string of text</p>"; // string of HTML

// Get the Element with id "target" and set it with the string.
document.getElementById("target").setHTMLUnsafe(value);

// Result (as a string): "<p>This is a string of text</p>"

规范

规范
HTML 标准
# dom-element-sethtmlunsafe

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅