文本片段定位器(Text Fragment Identifier),也称为文本片段 URL,是一种现代浏览器技术,允许您在 URL 中直接指定页面上的特定文本,浏览器加载页面后会自动滚动到该文本并将其高亮显示。
这是在不依赖网站自身锚点(如 /#section-id)的情况下,实现深层链接(Deep Linking)到页面内容的强大工具。
🔎 文本片段定位器详解
- 结构与格式
文本片段定位器的格式遵循 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...
- 核心用途:深层链接和引用
-
学术引用: 在论文或报告中,您可以链接到源网页上的一句话,而不是整个网页,极大地提高了引用的精确性。
-
知识共享: 在聊天或邮件中分享文章时,直接指向您认为最关键的那一段文字。
-
搜索增强: 搜索引擎(例如 Google)在搜索结果中可能使用此技术,当您点击链接时,浏览器会自动高亮搜索词所在的上下文。
- 如何使用(创建)
要创建您自己的文本片段定位器,您可以遵循以下简单步骤:
步骤 A: 选取文本
确定您想要链接到的网页上的文本片段。
- 示例: “文本片段定位器是一种现代浏览器技术。”
步骤 B: 编码文本
URL 中的特殊字符(如空格、逗号、中文字符)必须进行 URI 编码(或称百分号编码)。
-
空格变成 %20。
-
中文会编码成多个百分号序列(例如,定位器 可能编码为 %E5%AE%9A%E4%BD%8D%E5%99%A8)。
步骤 C: 组合 URL
将编码后的文本添加到目标 URL 的末尾,并加上 #:~:text= 前缀。
-
假设目标 URL: https://example.com/article.html
💡 提示: 大多数主流浏览器(如 Chrome、Edge)现在都内置了创建这种链接的功能。您可以在网页上选中一段文字,然后右键单击,选择 “复制指向突出显示的链接” 或类似的选项,浏览器会自动处理编码和格式化。
- 局限性
-
浏览器支持: 虽然主流浏览器(基于 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
完整示例(假设页面有重复文本):
• 这会精确匹配并高亮特定段落。
生成方式
• 手动:直接在 URL 后添加。
• 浏览器扩展:Chrome 有 “Link to Text Fragment” 扩展,选中文本右键生成链接。
• JavaScript:页面脚本可检测 document.fragmentDirective 来判断支持,并处理高亮。
• Google 搜索:点击搜索结果的引用片段时,自动使用此功能。
支持情况(2025年)
• Chrome、Edge、Opera:完整支持。
• Firefox、Safari:部分或实验支持。
• 移动端:Android Chrome 支持良好。
注意事项
• 匹配不区分大小写。
• 如果文本变化,链接可能失效(文本不稳定)。
• 隐私:浏览器会剥离片段指令,避免脚本直接访问。
• 不适合永久链接(推荐用 ID 锚点更稳定)。
这个功能超级实用,尤其分享长文章引用时!如果你指的是其他上下文(如 OCR 中的文字定位、Mojo 编程相关,或特定工具),可以提供更多细节,我再帮你细查🚀