Перейти к основному содержимому
Версия: 26.1.0 (в разработке)

Interface: HasContent

Expand

Интерфейс для элементов UI, которые содержат контент для отображения.

Поддерживает два формата: обычный текст и HTML разметку.

Remarks

Форматы контента:

  • plain/text — обычный текст, спецсимволы экранируются
  • html — HTML разметка, фильтруется от небезопасного кода

HTML фильтрация:

  • Разрешены: <h1>-<h6>, <p>, <div>, <span>, <strong>, <em>, <ul>, <ol>, <li>, <br>, <table>, <tr>, <td>, и т.д.
  • Запрещены: <script>, <iframe>, <object>, события (onclick и т.д.)
  • Все атрибуты кроме базовых удаляются
  • взаимодействие с HTML ограничено (ссылки не интерактивные)

Extended by

Properties

content

readonly content: string

Содержимое элемента, предназначенное для отображения пользователю.

Remarks

Формат:

  • Если contentType = 'plain/text' — обычная строка текста
  • Если contentType = 'html' — строка с HTML разметкой

Ограничения:

  • Не должна быть пустой (может вызвать проблемы отображения)
  • Максимальный размер зависит от браузера (обычно несколько MB)
  • HTML содержимое фильтруется в целях безопасности

Example

// Обычный текст
{
content: 'Это простой текст',
contentType: 'plain/text'
}

// HTML
{
content: '<h2>Заголовок</h2><p>Абзац текста</p>',
contentType: 'html'
}

contentType?

readonly optional contentType: UiContentType

Тип содержимого, определяющий как интерпретировать поле content.

Remarks

Значения:

  • 'plain/text' — содержимое это обычный текст

    • Все символы отображаются как есть
  • 'html' — содержимое это HTML разметка

    • HTML теги интерпретируются и отображаются
    • Небезопасные теги и атрибуты удаляются

Default

'plain/text'

Example


// HTML — теги интерпретируются
{
content: 'Текст с <strong>жирным</strong> словом',
contentType: 'html'
}
// Отобразится: "Текст с жирным словом" (жирное)

// Без указания — используется plain/text
{
content: 'Простое содержимое'
// Эквивалент: contentType: 'plain/text'
}

See

UiContentType — возможные значения