TrustedHTML
Ограниченная доступность
Эта функция не поддерживается Baseline, так как она не работает во всех широко используемых браузерах.
Примечание: Эта функция доступна в Web Workers.
Интерфейс TrustedHTML из API Trusted Types представляет собой строку, которую разработчик может вставить в ток ввода-вывода, который отобразит её как HTML. Эти объекты создаются с помощью TrustedTypePolicy.createHTML() и поэтому не имеют конструктора.
Значение объекта TrustedHTML устанавливается при создании объекта и не может быть изменено JavaScript, так как нет доступного метода установщика.
Методы экземпляра
TrustedHTML.toJSON()-
Возвращает JSON-представление сохранённых данных.
TrustedHTML.toString()-
Строка, содержащая очищенный HTML.
Примеры
В примере ниже создаётся политика, которая создаёт объекты TrustedHTML с помощью TrustedTypePolicyFactory.createPolicy(). Затем мы можем использовать TrustedTypePolicy.createHTML() для создания очищенной HTML-строки, которую нужно вставить в документ.
Очищенное значение можно использовать с Element.innerHTML, чтобы гарантировать, что новые HTML-элементы не могут быть внедрены.
<div id="myDiv"></div>
const escapeHTMLPolicy = trustedTypes.createPolicy("myEscapePolicy", {
createHTML: (string) => string.replace(/</g, "<"),
});
let el = document.getElementById("myDiv");
const escaped = escapeHTMLPolicy.createHTML("<img src=x onerror=alert(1)>");
console.log(escaped instanceof TrustedHTML); // true
el.innerHTML = escaped;
Спецификации
| Спецификация |
|---|
| Trusted Types # trusted-html |
Совместимость браузеров
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
TrustedHTML |
83 | 83 | Нет | 69 | Нет | 83 | Нет | 59 | Нет | 13.0 | 83 |
toJSON |
90 | 90 | Нет | 76 | Нет | 90 | Нет | 64 | Нет | 15.0 | 90 |
toString |
83 | 83 | Нет | 69 | Нет | 83 | Нет | 59 | Нет | 13.0 | 83 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/TrustedHTML