html - HTML 文档的 URL "fragment identifier"语义

标签 html url

我一直在使用新安装的“MoinMoin”wiki 软件。当我在玩它时,主要是随机输入测试页,我创建了一个带有片段的链接

blah blah see also [[SomeStuff#whatever|some other stuff about whatever]]

然后我需要弄清楚如何为那个“随便”的片段标识符创建 anchor 。我不记得必须在 MediaWiki 上这样做,所以我不得不四处寻找,但最后我发现 MoinMoin 有一个“Anchor”宏:

== Whatever ==
<<Anchor(whatever)>>

查看生成的 HTML,我很惊讶地看到一个空的 <span> “id”值为“whatever”的标签。我预计它会是 <a>标签的“名称”属性为“随便”。我四处寻找并找到了来源,并且有一条评论说他们将其从 <a> 更改为标记以避免 <pre> 出现一些 IE 问题部分。这让我感到困惑 — 不是因为 IE 的问题,而是因为在我看来他们的“修复”似乎让整个 anchor 机制完全崩溃了。

然而,令我惊讶的是,进一步的测试表明它工作正常。我用 300 <span> 写了一个测试页都用“id”值标记,当 Firefox 的行为完全符合我使用 <a> 时的预期时,我进一步感到震惊。标签。当我更改所有 <span> 时它也有效标记为 <em> .

所以这时候,你要么像我一样惊讶,要么你在想“这么蠢的人怎么会有这么多声望点?”如果您属于第二类,那么我是否已经在 HTML 中输入了大约 15 年——很多的 HTML——而且我不知何故没有注意到浏览器使用用于查找具有匹配“id”的任何类元素的 HTML 片段?

精神状态:崩溃

最佳答案

嗯,HTML 4.01 非常清晰......

12.2.3 Anchors with the id attribute

The id attribute may be used to create an anchor at the start tag of any element
(including the A element).

This example illustrates the use of the id attribute to position an anchor in an 
H2 element. The anchor is linked to via the A element.

You may read more about this in <A href="#section2">Section Two</A>.
...later in the document
<H2 id="section2">Section Two</H2>
...later in the document
<P>Please refer to <A href="#section2">Section Two</A> above
for more details.

如果有任何安慰的话,您并不孤单。最近有人评论了我在 SO 上的另一个答案,说了同样的话。

它是从 HTML 4 开始的,所以如果您在 1998/9 之前学习了 HTML,那么与其他变化相比,变化并不是主要变化,因此也不是最容易注意到的事情。直到 2001 年我才真正开始学习 HTML,因此 HTML 4 是我的起点。

关于html - HTML 文档的 URL "fragment identifier"语义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2985569/

相关文章:

html - HTML 中的图像 - HTML 表格中的行间距

html - 如何让我的嵌入式 YouTube iframe 扩展?

HTTP 后跟四个斜杠?

jquery - 如何创建一个 float 在右下角且响应迅速的聊天框?

php - 如何修复 "while"到循环和 php 来构建 HTML 表,该表仅在 HTML 表中显示一个结果,而其他所有内容都没有 HTML 表

javascript - 用 js 函数 window.history.back() 添加一个参数

javascript - 从 url 获取 css id

javascript - 如何将今天的日期插入 URL?

django - 在 Django 中,如何为 '/' 和其他基于根的 url 编写 url 模式

PHP CSS 移动响应