CustomElementRegistry: upgrade() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流瀏覽器均已支援。

upgrade() 方法是 CustomElementRegistry 介面的一部分,它用於升級 Node 子樹中所有包含 shadow DOM 的自定義元素,即使它們尚未連線到主文件。

語法

js
upgrade(root)

引數

一個 Node 例項,其中包含待升級的 shadow DOM 後代元素。如果沒有可以升級的後代元素,則不會丟擲錯誤。

返回值

無(undefined)。

示例

取自 HTML 規範

js
const el = document.createElement("spider-man");

class SpiderMan extends HTMLElement {}
customElements.define("spider-man", SpiderMan);

console.assert(!(el instanceof SpiderMan)); // not yet upgraded

customElements.upgrade(el);
console.assert(el instanceof SpiderMan); // upgraded!

規範

規範
HTML
# dom-customelementregistry-upgrade-dev

瀏覽器相容性