web api interface
HighlightRegistry
The HighlightRegistry interface of the CSS Custom Highlight API is used to register Highlight objects to be styled using the API.
It is accessed via CSS.highlights.
A HighlightRegistry instance is a Map-like object, in which each key is the name string for a custom highlight, and the corresponding value is the associated Highlight object.
Instance properties
The HighlightRegistry interface doesn’t inherit any properties.
sizeRead only- : Returns the number of
Highlightobjects currently registered.
- : Returns the number of
Instance methods
The HighlightRegistry interface doesn’t inherit any methods.
clear()- : Remove all
Highlightobjects from the registry.
- : Remove all
delete()- : Remove the named
Highlightobject from the registry.
- : Remove the named
entries()- : Returns a new iterator object that contains each
Highlightobject in the registry, in insertion order.
- : Returns a new iterator object that contains each
forEach()- : Calls the given callback once for each
Highlightobject in the registry, in insertion order.
- : Calls the given callback once for each
get()- : Gets the named
Highlightobject from the registry.
- : Gets the named
has()- : Returns a boolean asserting whether a
Highlightobject is present the registry or not.
- : Returns a boolean asserting whether a
highlightsFromPoint()- : Returns an array of objects representing the custom highlights applied at a specific point within the viewport.
keys()- : An alias for
values().
- : An alias for
set()- : Adds the given
Highlightobject to the registry with the given name, or updates the namedHighlightobject, if it already exists in the registry.
- : Adds the given
values()- : Returns a new iterator object that yields the
Highlightobjects in the registry, in insertion order.
- : Returns a new iterator object that yields the
Examples
Registering a highlight
The following example demonstrates how to create ranges, instantiate a new Highlight object for them, and register the highlight using the HighlightRegistry, to style it on the page:
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);
Result
Interactive exampleOpen the canonical MDN source to run this embedded demo.
Specifications
SpecificationsStandards references are available on the canonical MDN page.
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.