是否有一个理由为<script>必须有一个单独的结束标记?</script>

时间:2012-03-28 13:24:55

标签: html html5 theory

首先,我知道我必须拥有</script>标记,并且存在相关问题。问题不在于我是否需要结束标签。我的问题是:为什么是这样设计的?

我的混淆来源于查看<link />元素 - 它似乎具有类似的功能(导入外部文本文件并定义其类型)但具有自我关闭属性(我们在其他人看到)但不是所有元素类型)。我可能过于简单化了,但我不明白为什么一个外部引用元素应该使用与另一个类似(显然不相同)的外部引用元素不同的样式。

看起来这在HTML5草案中也没有改变。我只是想理解它背后的原因,这样我就可以更好/更深入地理解基本HTML以及它为什么会这样运作。

1 个答案:

答案 0 :(得分:7)

  

为什么这样设计?

它必须具有显式结束标记,因为您可以使用内联脚本:

<script>
    foo();
</script>

拥有禁止结束标记不起作用(从那时起你就没有内容)。有一个可选的结束标记会比较值得更麻烦(因为该元素包含CDATA ......实际上可能使得无法使用可选的结束标记,我不知道SGML的那一点就足够了)。

它不使用<link>,因为它是浏览器之战的产物,而不是在引入之前在W3C中讨论的内容。

  

看起来这在HTML5草案中也没有改变。

它不会向后兼容。