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);
Результат
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
См. также
© 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