为什么 target=”_blank” 前面有下划线?

有没有想过为什么需要在 target="_blank" 中加上下划线才能在新标签页中打开链接?

在 HTML5 之前,开发人员使用 <frameset> 实现类似 SPA 的功能,将窗口划分为多个框架,每个框架都有自己唯一的名称。 例如,左边的框架可以命名为 name="sidebar",右边的框架可以命名为 name="content"

点击链接时,浏览器需要知道将内容加载到哪个框架中。 这就是 target 属性的作用。 例如,点击侧边栏中的链接,就会在内容框中加载内容:

<a href="/pricing" target="content"></a>

现在,如果您有一个名为 “blank”的框架,并使用 <a href="/" target="blank">,内容就会加载到该框架中。 但如果不存在这样的框架,浏览器就会创建一个新窗口(不是标签页,因为当时的浏览器还不支持标签页),并将其命名为 “blank”。 再次点击同一链接不会打开另一个标签页。

那么,为什么要在 target="_blank" 中使用下划线呢?

这很简单–开发人员需要一种方法来明确告诉浏览器在新标签页中打开链接,而不受框架语义的限制。 下划线表示特殊值,而不是框架名称。

附注:不要使用 <frameset>。 它在 HTML5 中已被弃用。

你也许感兴趣的:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注