URL 中的文本突出显示锚点如何工作?(例如 #:~:text=highlight%20this)

URL 中的文本突出显示锚点如何工作?(例如 #:~:text=highlight%20this)

最近我注意到,在基于 Chromium 的浏览器(Chrome、较新版本的 Edge、Android 上的 Chrome)中,Google 和 Bing 的结果会将您带到突出显示相关信息的页面。它在 Firefox 中不起作用。

例如:

https://en.wikipedia.org/wiki/Stack_Overflow#:~:text=Stack%20Overflow%20is%20written%20in%20C%23

维基百科示例

我已经弄清楚了这些锚点的工作原理,但我找不到有关此功能的任何文档,因为搜索词“#:~:”几乎无法搜索。这是 Chromium 独有的功能吗?还是有标准,以便可以在其他地方实现此功能?

答案1

搜索起来很困难,但我找到了Chrome 的功能发布以及一份规范草案ScrollToTextFragment这是此功能的名称。

另外值得注意的是,Mozilla 对此功能的一些担忧,例如由于用户的搜索词包含在 URL 中而导致其被记录下来,由于这会导致浏览器滚动而导致恶意目的,以及以非标准方式处理 URL 中的井号字符的实现,这会导致页面出现问题。

此功能由 Google 提供,是从 2018 年起 AMP 页面提供的一项功能中分离出来的。

相关内容