有没有想过为什么需要在 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 中已被弃用。
你也许感兴趣的: