<script>不在<head>中吗?

Boj*_*les 33 html javascript

我已经有了这个问题在我的脑海中徘徊了一段时间,我想我会问你的集体专业知识来回答这个问题.

要详细说明标题,请说我有:

alert("Some JS outside ");

<head></head>我的HTML文件的标签之外.我的问题是这样做是否可以,以及它是如何使用的.

我的直觉告诉我没关系 - 我认为浏览器会查看所有HTML <script>标签,并在看到标签时对其进行解释,所以它应该没问题,但我对浏览器的运行方式并不是那么好.

我正在寻找一个确定的(或尽可能接近确定的)答案 - 这样做或不好吗?

编辑:为了节省我发布这一次,我会在这里说一次.非常感谢所有投入的人.投票给大家!我将不得不重新训练自己把JS放在页面的底部 - 现在我想起来,显而易见的是,页面底部的脚本比顶部更好.谢谢大家的帮助.

Jas*_*son 23

脚本标记的最佳位置在结束正文标记之前.

<html>
      <head>
      <title>Example</title>
      </head>
      <body>
            Your Content
      <script type="text/javascript" src="yourScriptHere.js"></script>
      <script type="text/javascript">//Inline scripts etc.</script>
      </body>
</html>
Run Code Online (Sandbox Code Playgroud)

这说他们可以在其他地方没有问题,但最终你想要它们的原因是你想确保页面在执行之前加载,你也不想停止客户端下载进度,使他们等待大型脚本.

  • 我不同意.通过将脚本放在最后,它们仅在页面加载后运行.例如,当这些脚本负责在表单元素上设置焦点时,这就是废话,因为当人们事先开始键入表单时,脚本将重置令人讨厌的焦点. (7认同)
  • 这不是负载车身属性的用途吗? (3认同)

Nic*_*ver 13

是的,<script>外面的街区<head>都很好.

事实上,许多人鼓励将它们放在最后<body>.将它们放在之前</body>,推迟提取/加载直到页面内容之后...以加快渲染速度.

从W3C HTML4规范:

SCRIPT元素将脚本放在文档中.此元素可能在HTML文档的HEAD或BODY中出现任意次.


Nat*_*ate 12

是.没关系.事实上,经常是必要的.在许多情况下,您可能有一些对页面不重要的长时间加载(读取:大型下载)javascript,因此您希望首先加载其余页面内容,因此您<script>将该javascript放在底部该<body>节.