【问题标题】:Why the target property in link has an underscore?为什么链接中的目标属性有下划线?
【发布时间】:2014-04-12 22:43:32
【问题描述】:

我已经编码多年,直到此刻我才意识到元素 <a> 中的属性 target 要求它们的所有值都以下划线开头(我们很多人都知道),但我不知道不知道为什么?我的意思是,我不记得有另一个值需要以下划线开头,除了那个。

有人知道这个实现背后的原因是什么,还有哪些其他值以下划线开头?

这只是一个历史问题,但很高兴知道为什么每个人都使用我认为仅适用于 target 的这种约定。

目标 - (_blank, _self _parent, _top)

【问题讨论】:

  • 假装我们在 Youtube 上我想知道同样的事情把我带到这里

标签: html syntax history


【解决方案1】:
  1. target 值可以是frame 的名称。
  2. frame 的名称可以是“blank”。
  3. 冲突!

需要一种消除歧义的方法:这是框架的名称还是保留的浏览上下文的名称?

因此,让我们在任何保留名称前加上一个特定字符,并禁止该字符用作其他值中的第一个字符。

【讨论】:

    【解决方案2】:

    这不是惯例;在标准(4.05)中指定目标属性的四个保留名称是 _blank、_self、_parent 和 _top。您可以有其他目标值,但它们将是必须以字母开头的自定义名称。保留的以其他非法值开头可以将它们与自定义命名目标区分开来。

    【讨论】:

    • 但是,即使它的保留名称,我也没有看到任何其他带有下划线的属性,为什么他们决定只将下划线应用于目标?
    • 下划线是大多数名称中的合法值,限制是对于目标值,只有保留值可以以下划线开头。可能有一些与验证相关的内部原理,但我怀疑他们只是选择了一个有效的、非字母允许的字符作为保留字的前缀,从可读性的角度来看,这可能是最好的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    相关资源
    最近更新 更多