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

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

直到今天我还在想为什么target="_blank"还没有实现target="blank"。我相信浏览器也能理解这一点。

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

答案1

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

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

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

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

但是浏览器必须应用目标属性的一些附加规则:

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

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

相关内容