HighlightRegistry
Baseline
2025
*
Newly available
Since June 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
* Some parts of this feature may have varying levels of support.
HighlightRegistry は CSS カスタムハイライト API のインターフェイスで、 API を用いて Highlight オブジェクトをスタイル設定するために使用します。
これは CSS.highlights からアクセスできます。
HighlightRegistry インスタンスは、 Map 風オブジェクトです。各キーはカスタムハイライトの名前文字列であり、対応する値は関連付けられた Highlight オブジェクトです。
インスタンスプロパティ
HighlightRegistry インターフェイスには継承したプロパティはありません。
HighlightRegistry.size読取専用-
現在登録されている
Highlightオブジェクトの数を返します。
インスタンスメソッド
HighlightRegistry インターフェイスには継承したメソッドはありません。
HighlightRegistry.clear()-
レジストリーからすべての
Highlightオブジェクトを除去します。 HighlightRegistry.delete()-
レジストリーから名前付き
Highlightオブジェクトを除去します。 HighlightRegistry.entries()-
レジストリー内のすべての
Highlightオブジェクトを挿入順に反復処理する新しいイテレーターオブジェクトを返します。 HighlightRegistry.forEach()-
レジストリー内のすべての
Highlightオブジェクトに対して、指定されたコールバックを挿入順に 1 回ずつ呼び出します。 HighlightRegistry.get()-
レジストリーから名前付き
Highlightオブジェクトを取得します。 HighlightRegistry.has()-
Highlightオブジェクトがレジストリーに存在するか否かを論理値で返します。 HighlightRegistry.keys()-
HighlightRegistry.values()の別名です。 HighlightRegistry.set()-
指定された
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!";
}
// 2 つの範囲を作成する。
const range1 = new Range();
range1.setStart(text, 0);
range1.setEnd(text, 3);
const range2 = new Range();
range2.setStart(text, 21);
range2.setEnd(text, 24);
// これらの範囲に独自のハイライトを作成する。
const highlight = new Highlight(range1, range2);
// 範囲を HighlightRegistry に登録する。
CSS.highlights.set("my-custom-highlight", highlight);
結果
仕様書
| Specification |
|---|
| CSS Custom Highlight API Module Level 1> # highlight-registry> |
ブラウザーの互換性
Loading…