Spec-Zone.ru › Web APIs

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, "&lt;"),
});

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

См. также

  • Предотвращение уязвимостей XSS на основе DOM с помощью Trusted Types

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API