关闭HTML脚本标记

Isw*_*San 26 html tags external-js

我只是好奇为什么我的JavaScript无法运行(在Firefox和IE中测试)如果我写这样的<script>标签:

<script type="text/javascript" src="script.js"/>
Run Code Online (Sandbox Code Playgroud)

如果我将该行更改为:

<script type="text/javascript" src="script.js"></script>
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:为什么我无法关闭script开始标记中的标记,因为我内部没有任何内容.

我的JavaScript代码很简单,只需:

alert("test");
Run Code Online (Sandbox Code Playgroud)

注意:我检查firefox错误控制台,没有错误.

Que*_*tin 14

自闭标签的概念是XML概念.您不能在HTML中使用它们.(您可以在XHTML中使用它们,但前提是文档是使用XML内容类型提供的,如果提供的话,则text/html不能使用它).

在HTML中,某些元素(例如<img>)不能包含任何内容,因此它们没有结束标记.

由于脚本可以具有src属性或脚本可以在元素内部,<script>因此不是其中之一.

(HTML 5允许/角色出现在定义为EMPTY的元素的开始标记的末尾,但对于沉迷于XML并且在语言中没有意义的人来说它只是糖.)

  • 不,`meta http-equiv`是一个笑话.您需要一个真正的HTTP标头.您还需要正确的内容类型(即"application/xhtml + xml").你也应该使用UTF-8,ISO-8859早已被取代.我还建议不要使用XHTML,因为它会给你更糟糕的浏览器支持,在支持它的浏览器中性能更差,并且它会牺牲从标记错误中清除恢复. (2认同)