【问题标题】:Loading external scripts [duplicate]加载外部脚本 [重复]
【发布时间】:2014-04-11 08:17:29
【问题描述】:

使用 HTML,您可以使用带有 src 属性的 <script></script> 标签加载脚本。对于样式表等,您可以使用带有href 属性的<link /> 标签加载它们。

如您所见,链接标签是空的,而脚本标签不是。加载外部脚本时这似乎很奇怪。例如:

<script src="http://code.jquery.com/jquery-latest.min.js"></script>

对我来说,将其加载到空标签中会更有意义。例如

<script src="http://code.jquery.com/jquery-latest.min.js" />

我的问题是,有没有办法在空标签中加载脚本等。这没什么大不了的,但我很好奇。

【问题讨论】:

  • 您可能只想专注于学习如何去做,而不是争论每一个细节。使用两个
  • @DOK 为什么不让它双向工作。 <script></script> 用于嵌入代码,<script /> 用于外部加载。
  • 为什么不让它双向工作?因为每个浏览器都必须在你使用它之前实现它,而这需要很长时间,所以你现在不能使用它。想想那些必须编写浏览器代码的可怜的混蛋,以及他们将如何为此编写代码。 “当有一个 还是大于号或其他 HTML 元素?现在回到
  • 这里有一篇关于这个主题的最新文章,您可能会觉得很有帮助。 colorglare.com/2014/02/03/to-close-or-not-to-close.html
  • 这是最近在 Hacker News 上的讨论和范围。 news.ycombinator.com/item?id=7310768

标签: html


【解决方案1】:

你不能这样做,因为假设脚本标签从那个 URL 获取代码并试图把它放在它的结束标签和开始标签之间;如果它是一个 void 元素,它就不能这样做。

更具体地说,HTML5 的解析引擎不允许这样做。 HTML 中有很多规则您会争论,但请顺其自然。

【讨论】:

    【解决方案2】:

    在 HTML 4 术语中,否 - 脚本元素可以有内容(内联脚本),因此它没有定义为 EMPTY,因此结束标记是强制​​性的。

    在 XHTML 中 - 是的,但前提是您使用 XML 内容类型。它与 HTML 不兼容,因此您不能在作为 text/html 的文档中使用它。

    在 HTML 5 术语中,否 - HTML 5 旨在向后兼容。没有引入新的空元素,因为旧浏览器不知道需要推断结束标记。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-31
      • 1970-01-01
      • 2016-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-17
      • 2015-03-28
      相关资源
      最近更新 更多