HTML - 带下划线的target =“_ blank”的历史或技术原因?


11

直到今天,我想知道为什么 target="_blank" 没有成为 target="blank"。我相信浏览器也能理解这一点。

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


整体 target 概念,虽然仍然允许在HTML 5中,但通常被认为是过时的。 w3.org/community/webed/wiki/HTML_links_-_lets_build_a_web (在里面 7 Frames and popups — just say no 部分)
Jens Mühlenhoff

1
有人可以解释一下为什么这个问题没有迁移到StackOverflow到这个网站吗?根据我的观点,它是SO的完美选择,也是SU的一个非常弱的选择。
trejder

Answers:


18

如果你要使用 target="blank" 你的链接 在新标签页/窗口中打开。但是,有一个微妙的区别。再次单击该链接将重复使用第一次打开的窗口而不是打开一个新窗口。

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

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

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

但是浏览器必须应用的目标属性还有一些其他规则:

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

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


7
你不应该参考W3Schools: w3fools.com
Jens Mühlenhoff

1
我不同意W3Schools不是最适合网页设计指南的,或者使用目标属性的链接已经过时了。但是,我正在使用这些信息专门回答原始问题。
James P

1
我认为链接到已知存在问题的资源并不是一个好主意。你的回答很好。
Jens Mühlenhoff
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.