我在哪里可以放一个脚本标签?

时间:2013-11-14 18:28:30

标签: javascript html

在html中放置<script>标记在哪里合法?

我有一个合法的(我发誓!)理由在我的部分页面中使用document.write。这意味着我需要把

<script>document.write('some goodness')</script>

在DOM中的某个任意点。总是支持吗?

2 个答案:

答案 0 :(得分:3)

In HTML5 the <script> element is defined as being allowed in the following places:

  

可以使用此元素的上下文:

     
      
  • 预期元数据内容的位置。
  •   
  • 预计会有短语内容。
  •   
  • 需要支持脚本的元素。
  •   

大多数内容元素允许phrasing content<head>元素允许metadata content

某些元素支持<script>元素作为直接后代,应注意此列表可能会发生变化,因此请参阅规范,因为这可能不是一个全面的清单:

  • <html>
  • <title>
  • <script>

此外,您不应该在<script>元素中放置<noscript>元素,因为它实际上没有任何意义,即使规范在技术上支持它。 / p>

答案 1 :(得分:2)

您可以在<head><body>代码之间的任何位置添加它们:

  • 如果将其插入头部,则会在页面渲染之前加载
  • 如果您将它放在身体上,它将在所有页面加载后加载 渲染,因此用户不会等待您的脚本之前被解析 页面呈现= 更快的页面呈现

例外:

  • <title>标记内(如您所说)
  • <tr>see this link)内部显然它(见后)

我尝试了fiddle上的一些元素,你可以尝试一下