【问题标题】:Include JavaScript file in HTML won't work as <script .... />在 HTML 中包含 JavaScript 文件不能作为 <script .... />
【发布时间】:2011-06-03 09:09:46
【问题描述】:

我想在网站的每个页面上都包含一个 javascript 文件。我可以这样做:

<script type="text/javascript" src="myFile.js" ></script>

这很好 - 但是由于两个标签之间没有任何内容,我想将其更改为:

<script type="text/javascript" src="myFile.js" />

如果我这样做,它将不起作用 - 在页面上加载该行之后没有任何内容。

任何想法为什么?谢谢

【问题讨论】:

标签: javascript html


【解决方案1】:

这不是错误,这是标准行为。

此外,空的 HTML 元素通常不会被渲染:

&lt;div style="background:red"&gt;&lt;/div&gt; 显示,&lt;div style="background:red" /&gt; 不显示

【讨论】:

  • 这个元素被渲染但不可见,因为它的大小是零像素高度和宽度
【解决方案2】:

不幸的是,HTML 规范需要一个结束标记...

HTML 标准,section 18.2.1

18.2.1 SCRIPT 元素

开始标签:必需,结束标签:必需

【讨论】:

    【解决方案3】:

    HTML 不支持自闭合标签。如果要使用它们,则需要使用基于 xml 的文档类型并将文件作为 xml 提供。

    XHTML 或 html5 的 xml 序列化都可以工作。

    这是一个例子:

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <title>XHTML5 Template</title>
        <meta charset="utf-8" />
        <script type="text/javascript" src="http://documentcloud.github.com/underscore/underscore-min.js" />
      </head>
      <body>
      </body>
    </html>
    

    将其保存在带有.xhtml 扩展名的文件中,然后在现代浏览器中打开它,自闭合标签将起作用。

    【讨论】:

      猜你喜欢
      • 2012-11-19
      • 1970-01-01
      • 1970-01-01
      • 2019-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多