如何在没有 id/name 的情况下生成指向页面上特定点的超链接?

Posted

技术标签:

【中文标题】如何在没有 id/name 的情况下生成指向页面上特定点的超链接?【英文标题】:How to generate a hyperlink to specific point on page without an id/name? 【发布时间】:2021-10-06 21:48:51 【问题描述】:

场景/请求

我想向某人发送一个链接,该链接指向我无法控制/无法更改的网站 由于页面很长(11 段),我想将用户指向网页上的特定点 但是页面中没有ID/名称属性,内容全部由未命名的<h2><p> 标签组成。

场景/请求

无论如何我可以生成一个链接到类似相对 CSS 锚的东西(例如页面上的第三个 <H2> 标记,好吗?

【问题讨论】:

【参考方案1】:

目前还没有跨浏览器的方式来做到这一点。在过去的十年中,有两个提案有非官方和/或官方实现,其中一个正在积极开发中,可能很快会作为跨浏览器标准提供。

第一个提议是CSS Selectors as Fragment Identifiers,它允许您使用 CSS 选择器通过 URL 片段链接到页面中的特定元素:

https://example.com/index.html#css(h2:nth-of-type(3))

(这实际上并不代表页面上的第三个h2。It is not possible to write a CSS selector for that.)

写了一个draft,进行了一些讨论(我亲自参与了),还进行了一些proofs-of-concept in the form of browser extensions,但它从未成功。另见CSS selector fragment support

第二个提案,也是目前正在积极开发的提案,是Text Fragments,它允许您在 URL 片段中链接到任意文本

https://example.com/index.html#:~:text=Example Heading

第一个实现是由 Google 自己以扩展 Google Chrome 和 Microsoft Edge 的形式实现的,但自 2020 年起,此功能实际上已在 a number of Chromium-based browsers 中提供。尝试在您的问题中搜索短语或我的回答。

【讨论】:

很高兴听到您对此的看法:***.com/q/68882689/3597276 @Michael Benjamin:相当常见的问题,没有任何可用的或建议的可以帮助。 谢谢。我就是这么想的,但我想也许你知道一些提议。

以上是关于如何在没有 id/name 的情况下生成指向页面上特定点的超链接?的主要内容,如果未能解决你的问题,请参考以下文章

Django - 如何在不刷新页面的情况下保持在同一页面上?

如何在没有 iFrame 的情况下在 html 上显示来自另一台服务器的 PHP 页面?

在 Firefox 或 Chrome 等浏览器上没有任何配置的情况下,如何在 OBIEE 12c 登录页面中忘记密码?

如何将密码添加到在没有密码的情况下生成的 OpenSSH 私钥?

如何在没有物理感谢页面的情况下执行 Google Adwords 转换跟踪

如何在没有 pushd 的情况下获取 UNC 路径上的文件大小?