文本片段定位器(Text Fragment Identifier),也称为文本片

文本片段定位器(Text Fragment Identifier),也称为文本片段 URL,是一种现代浏览器技术,允许您在 URL 中直接指定页面上的特定文本,浏览器加载页面后会自动滚动到该文本并将其高亮显示。

这是在不依赖网站自身锚点(如 /#section-id)的情况下,实现深层链接(Deep Linking)到页面内容的强大工具。

🔎 文本片段定位器详解

  1. 结构与格式

文本片段定位器的格式遵循 URL 的片段标识符规则,它位于 # 符号之后,并以特定的语法开头:

| 部分 | 含义 | 示例 |

|---|---|---|

| # | URL 片段标识符的起始符号。 | # |

| :: | 关键前缀,表明这是一个文本片段标识符,而不是传统的 ID 锚点。 | :: |

| text= | 指定目标文本的类型,目前主要且最稳定支持的就是 text。 | text= |

| 目标文本 | 实际要定位和高亮的字符串。 | Mojo%20是%20Python%20的... |

示例(您提供的):

#:~:text=LLVM%E9%A1%B9%E7%9B%AE%E7%9A%84%E4%B8%BB%E8%A6%81%E5%8F%91%E8%B5%B7%E4%BA%BA...

  1. 核心用途:深层链接和引用
  • 学术引用: 在论文或报告中,您可以链接到源网页上的一句话,而不是整个网页,极大地提高了引用的精确性。

  • 知识共享: 在聊天或邮件中分享文章时,直接指向您认为最关键的那一段文字。

  • 搜索增强: 搜索引擎(例如 Google)在搜索结果中可能使用此技术,当您点击链接时,浏览器会自动高亮搜索词所在的上下文。

  1. 如何使用(创建)

要创建您自己的文本片段定位器,您可以遵循以下简单步骤:

步骤 A: 选取文本

确定您想要链接到的网页上的文本片段。

  • 示例: “文本片段定位器是一种现代浏览器技术。”

步骤 B: 编码文本

URL 中的特殊字符(如空格、逗号、中文字符)必须进行 URI 编码(或称百分号编码)。

  • 空格变成 %20。

  • 中文会编码成多个百分号序列(例如,定位器 可能编码为 %E5%AE%9A%E4%BD%8D%E5%99%A8)。

步骤 C: 组合 URL

将编码后的文本添加到目标 URL 的末尾,并加上 #:~:text= 前缀。

💡 提示: 大多数主流浏览器(如 Chrome、Edge)现在都内置了创建这种链接的功能。您可以在网页上选中一段文字,然后右键单击,选择 “复制指向突出显示的链接” 或类似的选项,浏览器会自动处理编码和格式化。

  1. 局限性
  • 浏览器支持: 虽然主流浏览器(基于 Chromium 的 Chrome、Edge,以及 Firefox)大多支持,但并非所有浏览器都完全支持。Safari 的支持相对较慢。

  • 文本匹配: 文本必须准确匹配页面内容。如果网站内容更新,链接可能会失效。

  • 安全性: 它只能定位和高亮文本,不能执行代码或修改页面内容,因此是安全的。

总而言之,文本片段定位器是一个强大的工具,它使得互联网上的信息引用和分享变得更加精确和高效。

您希望我帮您尝试使用这个技术来定位某篇 Mojo 相关的文章中的特定句子吗?

文本片段定位器是什么?

“文本片段定位器”通常指 Web 平台的“文本片段”(Text Fragments)功能,也称为 Scroll to Text Fragment 或 文本片段 URL。这是一个现代浏览器标准(由 Chrome 率先实现,现已被多个浏览器支持),允许通过 URL 的特殊语法直接链接到网页中的特定文本片段,浏览器会自动滚动到该位置并高亮显示匹配的文本,而无需页面作者预先添加锚点(#id)。

•	英文名称:Text Fragments 或 Scroll-To-Text Fragment。
•	标准提案:WICG(Web Incubator Community Group)的规范。
•	核心用途:实现深度链接(deep linking)到任意文本,便于分享引用、搜索结果高亮、笔记等场景。例如,Google 搜索结果中的“特色片段”点击后,就会用这种方式高亮页面文本。

为什么叫“定位器”?

它本质上是一种“定位”机制,能精确“定位”并突出网页中的文本片段,就像一个内置的文本查找和高亮工具。

怎么用?

语法非常简单:在 URL 的片段标识符(#)后添加 #:~:text= 开头,后面跟要定位的文本。

基本语法

•	#:~:text=文本内容
浏览器会查找页面中第一个匹配的文本,滚动并高亮。

示例:

https://example.com/article#:~:text=Python生态

•	打开这个 URL,浏览器会自动滚动到页面中第一个出现“Python生态”的地方,并高亮它。

高级用法(更精确,避免多匹配)

1	指定起始和结束文本(用逗号分隔):
#:~:text=起始文本,结束文本
2	
高亮从“起始文本”到“结束文本”之间的内容。
3	添加前缀/后缀(用 - 分隔,提高唯一性):
◦	前缀:文本前面的上下文(用 %- 前缀)。
◦	后缀:文本后面的上下文(用 %- 后缀)。 示例:
4	#:~:text=前缀-,目标文本, -后缀
5	

完整示例(假设页面有重复文本):

https://developer.mozilla.org/zh-CN/docs/Web/API/Element#:~:text=Element%20%E6%8E%A5%E5%8F%A3%E4%BB%A3%E8%A1%A8%E4%BA%86%E4%B8%80%E4%B8%AA%E5%85%83%E7%B4%A0,%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%AE%BF%E9%97%AE

•	这会精确匹配并高亮特定段落。

生成方式

•	手动:直接在 URL 后添加。
•	浏览器扩展:Chrome 有 “Link to Text Fragment” 扩展,选中文本右键生成链接。
•	JavaScript:页面脚本可检测 document.fragmentDirective 来判断支持,并处理高亮。
•	Google 搜索:点击搜索结果的引用片段时,自动使用此功能。

支持情况(2025年)

•	Chrome、Edge、Opera:完整支持。
•	Firefox、Safari:部分或实验支持。
•	移动端:Android Chrome 支持良好。

注意事项

•	匹配不区分大小写。
•	如果文本变化,链接可能失效(文本不稳定)。
•	隐私:浏览器会剥离片段指令,避免脚本直接访问。
•	不适合永久链接(推荐用 ID 锚点更稳定)。

这个功能超级实用,尤其分享长文章引用时!如果你指的是其他上下文(如 OCR 中的文字定位、Mojo 编程相关,或特定工具),可以提供更多细节,我再帮你细查🚀