HTML - 带有下划线的 target="_blank" 的历史或技术原因?

Ava*_*tar 19 html syntax

直到今天我都纳闷为什么target="_blank"还没有变成target="blank"。我相信浏览器也能理解这一点。

该决定/规范是否有任何历史或技术原因?

Jam*_*s P 28

如果您要使用target="blank"您的链接在新选项卡/窗口中打开。然而,有一个微妙的区别。再次单击该链接将重新使用第一次打开的窗口,而不是打开一个新窗口。

这是因为该target属性不仅仅可以用于打开新窗口。它有四个内置值,但也允许您指定自己的目标。如果您查看相关的W3 学校页面,它会显示以下选项:

  • _blank 在新窗口或选项卡中打开链接文档
  • _self 在单击时在同一框架中打开链接文档(这是默认设置)
  • _parent 在父框架中打开链接的文档
  • _top 在整个窗口中打开链接的文档
  • <framename> 在命名框架中打开链接文档

除非您对 HTML 框架有所了解,否则大部分内容都没有意义。使用 HTML<frameset>标记允许您将浏览器窗口分成单独的部分(框架),每个部分(框架)都有自己的页面。通过为框架命名并target在链接中使用该属性,可以控制哪个框架应显示相关内容。

但是对于浏览器必须应用的目标属性,还有一些额外的规则:

  • 如果目标是用户指定的名称,则它必须以字母开头(无下划线、数字等)
  • 如果目标是用户指定的名称,但没有框架/窗口与该名称匹配,则使用该名称创建一个新的选项卡/窗口。这就是为什么target="blank"它的工作方式。

基本上没有理由改变当前的约定,因为这_blank是一个特例。可能不再使用原始类型的框架,但在其他情况下,您可以拥有与目标属性一起使用的命名对象,例如 iframe,它们是直接嵌入到页面中的单个框架。更改标准会破坏许多现有页面而不会带来任何好处。

  • 您不应参考 W3Schools:http://www.w3fools.com/ (7认同)
  • 我不同意 W3Schools 不是网页设计指南的最佳选择,或者使用带有目标属性的链接已经过时。但是,我使用这些信息来专门回答原始问题。 (2认同)