【问题标题】:Loading Scripts in Javascript [duplicate]用Javascript加载脚本[重复]
【发布时间】:2011-07-18 08:55:30
【问题描述】:

可能重复:
Why don't self-closing script tags work?

为什么会这样

不一样

后一种形式似乎没有加载,如果我用第一种方式替换它,它确实可以正常工作。

【问题讨论】:

  • 查看this question 获得 96+ 票的答案。
  • 抱歉,我没有意识到这是重复的。我投票关闭它。

标签: javascript


【解决方案1】:

在 XML 中,<foo></foo><foo/> 的含义完全相同。所以在一个 XHTML 文档中(如果它被解释为 XML),它们之间没有区别。

在 SGML 中,它们没有。

HTML 在历史上被设计为 SGML 应用程序(并且早于 XML)。浏览器在实现它们的解析器时考虑到了这一点(尽管它们不是完整的 SGML 解析器并且一些有效的语法被错误地处理了)。

当您使用 text/html Content-Type 向浏览器提供文档时,它会将其解释为 HTML。

因此 <script/> 被视为需要结束标记的元素的开始标记。

在编写与 HTML 兼容的 XHTML(即用作文本/html 的 XHTML)时,指南建议将定义为 EMPTY 的元素(因此禁止结束标记)表示为 <foo/>,而所有其他元素都表示为作为<foo></foo>

由于<script> 元素可以有内容(内联脚本),所以不禁止结束标记,因此需要显式结束标记。

【讨论】:

    【解决方案2】:

    可能是因为它不像 BR 或 HR 那样单一的东西标签(我忘了它们叫什么了)。脚本标签总是需要打开和关闭。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-11
      • 2020-03-26
      • 1970-01-01
      • 2018-11-19
      • 1970-01-01
      • 1970-01-01
      • 2017-05-14
      • 2012-12-03
      相关资源
      最近更新 更多