在 Document HEAD 中链接到外部脚本的最佳方式

Posted

技术标签:

【中文标题】在 Document HEAD 中链接到外部脚本的最佳方式【英文标题】:Best way to link to external scripts in Document HEAD 【发布时间】:2009-06-01 19:18:59 【问题描述】:

我注意到很多网站都使用这个,没有关闭标签。

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

这种风格也是recommended,但更长:

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

我可以这样写吗?它有效还是有更好的方法?

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

【问题讨论】:

【参考方案1】:

你总是想用

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

某些浏览器不允许自动关闭脚本标签。

欲了解更多信息,请参阅Why don't self-closing script tags work?

【讨论】:

什么?自闭标签是 XML 的一部分,因此也是 Xhtml 的一部分,为什么浏览器不支持它?!? IE 并不真正支持 XHTML,鉴于 IE 的市场份额,您不能简单地忽略这些用户。 (浏览器不支持他们应该支持的功能是常见的做法。如果你要做 Web 开发,你必须为这种不幸的情况做好准备。)【参考方案2】:

使用第二个选项。 Not all browsers支持自动关闭样式。

【讨论】:

事实上,结果可能非常令人困惑。绝对#2【参考方案3】:
<script type="text/javascript" src="editor.js">

这是无效的,会破坏东西。

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

这很好。

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

只要您使用不是HTML Compatible 的XHTML,这很好。这意味着您需要使用 XML 内容类型(最好是 application/xhtml+xml)来提供 XHTML,而忘记支持 Internet Explorer(除了使用单独的文档)。

【讨论】:

以上是关于在 Document HEAD 中链接到外部脚本的最佳方式的主要内容,如果未能解决你的问题,请参考以下文章

在 div 容器内动态调用异步脚本

NUXT head 配置 script 脚本

jquery代码如何写到外部js中 为啥 在外部js中 写上 $(document).ready(function();就报错

外部 js 脚本不适用于使用 jQuery 加载的页面

在新窗口JavaScript中打开外部链接。

有没有办法在 Flutter WebView 中导入外部脚本