Web

Webページ中の特定の文字列をURLで指定する(Text Fragments)

投稿日:2021年1月15日 更新日:

1. URLにおける通常のフラグメント

一般に「URL」は Webページの住所を表しますが、末尾にフラグメント (fragment, # に続けて指定する文字列) を追加することにより、Webページ上の特定の位置を含めた表現が可能です。

例えば、アクセスしたいWebページのHTML内に、以下のタグが記述されているとします。

<a href="foo">Bar</a>

この場合、ブラウザのアドレスバーに「末尾に #foo を追加したURL」を指定してアクセスすると、ブラウザは上記のタグの位置がちょうど画面の上端にくる位置まで自動でスクロールしてくれます。

フラグメントの詳細については、URL Standard を参照してください。

2. Text Fragments(テキスト フラグメント)

Text Fragments とは?

一方、フラグメントに関する新しい仕様である Text Fragments を利用すると、Webページ上の「特定の文字列」を URL で表現することができるようになります。

テキストフラグメントを含むURLを指定してWebページにアクセスすると、ブラウザはその文字列をハイライト表示し、その位置までスクロールしてくれます。誰かに「このWebページのこの部分を伝えたい」という場合に大変便利です。

Text Fragments の使い方

テキストフラグメントのフォーマットは以下になります。

#:~:text=[prefix-,]textStart[,textEnd][,-suffix] 
          context  |-------match-----|  context
  • match で指定されている範囲が「指定したい文字列」になります(textStarttextEnd を使います)。
  • この範囲を明確にするために、context を指定することもできます(prefix--suffix を使います)。

4つの項目を指定することができます。それぞれの意味は以下の表の通りです。

prefix-
  • 指定した文字列の前の部分
  • 最後に「-」を付ける。
  • オプション
textStart
  • 指定したい文字列の始まり部分
  • 必須
textEnd
  • 指定したい文字列の終わり部分
  • オプション
-suffix
  • 指定した文字列の後の部分
  • 最初に「-」を付ける。
  • オプション

この4つの項目の文字列は、それぞれパーセントエンコーディングしてから指定します(ブラウザが自動的に変換してくれます)。

デモ

以下の文章を使って、実際にいくつかのフラグメントを試してみます(ブラウザは Chrome か Edge を使ってください)。

私はコーヒーと紅茶が好きです。

彼はコーヒーも紅茶も嫌いです。

以下の「フラグメント(とリンク)」列にリンクが貼ってあるのでクリックしてください。

No. フラグメント(とリンク) 説明
1 #:~:text=コーヒー
  • textStartのみ指定
  • 漠然と「コーヒー」としか指定していない。この場合、最初に合致したところだけがハイライト表示されるようだ。
2 #:~:text=コーヒー,紅茶
  • textStarttextEndを指定
3 #:~:text=彼は-,コーヒー
  • prefix-textStartを指定
4 #:~:text=紅茶,-も
  • textStart-suffixを指定
5 #:~:text=彼は-,コーヒー,紅茶,-も
  • prefix-, textStart, textSEnd, -suffixをすべて指定
6 #:~:text=私は-,コーヒー&text=彼は-,コーヒー,紅茶
  • 複数の文字列を指定したい場合は、&text= で条件を追加します。

※ Text Fragments によるハイライト表示は、ページを最初に開いたときしか適用されないため、上記のリンクは新規タブで開くようにしています。

3. URLを生成するための拡張機能

テキストフラグメントを含むURLを手動で作成するのは面倒です。そのため、ブラウザの画面上から簡単にURLを生成するためのブラウザ拡張機能が用意されています。詳細は以下のページを参照してください。

Chrome 90 以降では標準機能になりました

Chrome のバージョン 90(2021年4月リリース)で、選択した文字列を指すリンクを作成する機能が標準搭載されました。

リンクにしたい文字列を選択状態にして、右クリックし [選択箇所へのリンクをコピー] を選びます。

この機能は、Chrome 90 で追加されました。

4. 参考

📂-Web

執筆者:labo


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Web

AMP for WordPress プラグインを使って WordPressサイトをAMP対応する手順

目次1. AMP とは?なぜ、AMP が必要なのか?AMP フレームワーク1. AMP HTML2. AMP JS3. AMP キャッシュその他2. AMP for WordPress プラグインにつ …

no image

ドメインに関して気を付けること

目次TLS証明書ドメインの乗っ取り1. TLS証明書が発行されてしまうとまずい2. メールアドレスが利用されてしまう TLS証明書 証明書の期限を短くする。 ドメインの乗っ取り 1. TLS証明書が発 …

Chrome

Chrome のアドレスバーから任意のサイトの検索機能を使用する方法

目次1. Chrome の検索エンジン管理機能2. 任意サイトの検索機能を Chrome に追加して使用する1. アルクのサイトで検索したときの URL を調査する2. 検索エンジンとして追加する3. …

Amazon ページ右端のカート内商品リストを非表示にする方法

Amazon ページ右端のカート内商品リストを非表示にする方法について説明します。

Web

Flexbox を使ってページ全体を中央寄せにする

目次1. はじめに2. やり方3. デモページ4. おわりに参考 1. はじめに CSS(スタイルシート) の Flexbox を使って ウェブページ全体を中央寄せにする例を紹介します。 2. やり方 …