要在 HTML 页面中包含外部 JavaScript 文件,您可以使用以下命令:
<script type="text/javascript" src="images/jquery-2.2.2.js"></script>
该标签的主体是空的,但我必须输入字符串script
两次。为什么 HTML 中没有 XML 风格的隐式结束标记,如下所示:
<script type="text/javascript" src="images/jquery-2.2.2.js" />
如果它是有效的(至少在 HTML5 中),那么如何确保每个支持 HTML5(或 XHTML5)的浏览器都可以接受这种用法?
EDIT
我将把这个问题提交给 HTML WG。弃用src
属性上<script>
因为它是整个混乱的根源,有两个选项之一:
-
<link>
标签而不是空的<script>
tag:
<link type="text/javascript" href="images/jquery-2.2.2.js" />
或者可选地带有rel
属性:
<link rel="script" type="text/javascript" href="images/jquery-2.2.2.js" />
-
PHP风格include()
在 JavaScript 本身中:(因此强制some始终将内容添加到标签中,并允许将多个脚本包含在一个脚本中script
tag)
<script type="text/javascript">include("images/jquery-2.2.2.js");</script>
您不能省略脚本元素的结束标记。如果这样做,JavaScript 运行时会将以下 HTML 视为 JavaScript 并输出错误。
您唯一可以自行终止元素标签的时间(<br />
) 是如果该元素没有结束标记(br、link、meta)或者结束标记被定义为可选(li、p)。
现在,您必须键入带有开始和结束标记的元素的原因是因为该元素可以包含JavaScript,这使得它成为一个内容元素。所有内容元素必须始终显式关闭,除非规范。另有说法。
实际上,HTML 会忽略尾随的正斜杠“/”
解析器。包含它的唯一好处是如果标记是
由 XML 解析器解析。
因此,对于 HTML 解析器来说,它会看到:
<script type="text/javascript" src="images/jquery-2.2.2.js" />
As this:
<script type="text/javascript" src="images/jquery-2.2.2.js">
并且,它会认为接下来的所有内容都必须是 JavaScript。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)