Spec-Zone.ru › Web APIs

HighlightRegistry

Ограниченная доступность

Данная функция не относится к Baseline, поскольку она не работает в некоторых из наиболее широко используемых браузеров.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Интерфейс HighlightRegistry API CSS Custom Highlight API используется для регистрации объектов Highlight, которые будут форматироваться с помощью API. К нему можно получить доступ через CSS.highlights.

Экземпляр HighlightRegistry — это объект, подобный объекту Map, в котором каждый ключ — строка имени настраиваемого выделения, а соответствующее значение — связанный объект Highlight.

Свойства экземпляра

Интерфейс HighlightRegistry не наследует никаких свойств.

HighlightRegistry.size Только для чтения

Возвращает количество объектов Highlight , зарегистрированных в настоящее время.

Методы экземпляра

Интерфейс HighlightRegistry не наследует никаких методов.

HighlightRegistry.clear()

Удаляет все объекты Highlight из реестра.

HighlightRegistry.delete()

Удаляет объект Highlight с заданным именем из реестра.

HighlightRegistry.entries()

Возвращает новый объект итератора, содержащий каждый объект Highlight в реестре в порядке добавления.

HighlightRegistry.forEach()

Вызывает заданную функцию обратного вызова один раз для каждого объекта Highlight в реестре в порядке добавления.

HighlightRegistry.get()

Получает объект Highlight с заданным именем из реестра.

HighlightRegistry.has()

Возвращает логическое значение, указывающее, присутствует ли объект Highlight в реестре.

HighlightRegistry.keys()

Псевдоним для HighlightRegistry.values().

HighlightRegistry.set()

Добавляет заданный объект Highlight в реестр с заданным именем или обновляет объект Highlight с заданным именем, если он уже существует в реестре.

HighlightRegistry.values()

Возвращает новый объект итератора, который возвращает объекты Highlight в реестре в порядке добавления.

Примеры

Регистрация выделения

Следующий пример демонстрирует, как создать диапазоны, создать новый объект Highlight для них и зарегистрировать выделение с помощью HighlightRegistry, чтобы отформатировать его на странице:

HTML

<p id="foo">CSS Custom Highlight API</p>

CSS

::highlight(my-custom-highlight) {
  background-color: peachpuff;
}

JavaScript

const text = document.getElementById("foo").firstChild;

if (!CSS.highlights) {
  text.textContent =
    "The CSS Custom Highlight API is not supported in this browser!";
}

// Create a couple of ranges.
const range1 = new Range();
range1.setStart(text, 0);
range1.setEnd(text, 3);

const range2 = new Range();
range2.setStart(text, 21);
range2.setEnd(text, 24);

// Create a custom highlight for these ranges.
const highlight = new Highlight(range1, range2);

// Register the ranges in the HighlightRegistry.
CSS.highlights.set("my-custom-highlight", highlight);

Результат

Спецификации

Спецификация
CSS Custom Highlight API Module Level 1
# highlight-registry

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
@@iterator 105 105 превью 91 17.2 105 Нет 72 17.2 20.0 105
HighlightRegistry 105 105 превью 91 17.2 105 Нет 72 17.2 20.0 105
clear 105 105 превью 91 17.2 105 Нет 72 17.2 20.0 105
delete 105 105 превью 91 17.2 105 Нет 72 17.2 20.0 105

См. также

  • CSS Custom Highlight API
  • CSS Custom Highlight API: Возможности выделения диапазонов текста на веб-страницах

© 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/HighlightRegistry

Spec-Zone.ru

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