Javascript 在头部包含脚本是否会降低加载速度?

Javascript 在头部包含脚本是否会降低加载速度?,javascript,Javascript,Google说我必须把这些文件放在文档的开头: <script src="https://www.gstatic.com/firebasejs/6.2.0/firebase-app.js"></script> <script src="https://www.gstatic.com/firebasejs/6.2.0/firebase-firestore.js"></script> 像这样的脚本有6-8个 关键是在加载html之前,我不需要

Google
说我必须把这些文件放在文档的开头:

 <script src="https://www.gstatic.com/firebasejs/6.2.0/firebase-app.js"></script>
 <script src="https://www.gstatic.com/firebasejs/6.2.0/firebase-firestore.js"></script>

像这样的脚本有6-8个

关键是在加载
html
之前,我不需要它们,只是在以后

  • 我的
    html
    body
    是否等待加载所有这些内容
  • 为什么谷歌明确建议把它们放在
    标题上,而不是放在我的
    html
    之后

  • 您可以将
    async
    标记附加到这些脚本以防止它们阻塞整个页面。

    您可以将
    async
    标记附加到这些脚本以防止它们阻塞整个页面

    我的html主体是否等待加载所有这些内容

    如果使用async分离脚本,则html主体不必等待

    为什么谷歌明确建议把它们放在头上,而不是放在我的html之后

    我认为firebase建议将其添加到身体中

    
    
    我的html主体是否等待加载所有这些内容

    如果使用async分离脚本,则html主体不必等待

    为什么谷歌明确建议把它们放在头上,而不是放在我的html之后

    我认为firebase建议将其添加到身体中

    
    
  • 有一个选项,您可以使用异步事件附加脚本,这样它就不能在加载html正文时中断。例如:
  • 在我看来,贴在头附近是因为有些人会忘记贴在身上。不在html标记之后,可能在关闭html标记之前。有些人的代码可能不同
  • 有一个选项,您可以使用异步事件附加脚本,这样它就不能在加载html正文时中断。例如:
  • 在我看来,贴在头附近是因为有些人会忘记贴在身上。不在html标记之后,可能在关闭html标记之前。有些人的代码可能不同

  • 当浏览器引擎遇到脚本标记时,DOM开发将暂停,直到处理完整个脚本。根据脚本的大小,这需要自己的时间。使用脚本标记上的
    async
    defer
    修改脚本的下载方式。(例如
    参见,谢谢,这太疯狂了,为什么有人会建议你把这个放在头上?我们不想先显示我们的html吗?但是如果我使用async,以后我有更多的脚本要加载(在html之后),需要先加载才能工作,我不能确定这些脚本是否加载了async(?)当浏览器引擎遇到脚本标记时,DOM开发将暂停,直到处理完整个脚本。根据脚本的大小,这需要自己的时间。在脚本标记上使用
    async
    defer
    ,修改脚本的下载方式。(例如
    参见,谢谢,这太疯狂了,为什么有人会建议你把这个放在头上?我们不想先显示我们的html吗?但是如果我使用async,以后我有更多的脚本要加载(在html之后),需要先加载才能工作,我不能确定这些脚本是否加载了async(?)虽然这是一条有用的评论,但它并没有完全回答这个问题。身体加载暂停了吗?为什么谷歌建议把它们放在
    头上
    ?异步
    到底做了什么?虽然这是一条有用的评论,但它并没有完全回答这个问题。身体加载暂停了吗?为什么谷歌建议把它们放在
    头上>head
    ?async到底做了什么?我是堆栈溢出新手:)谢谢RobG:):我是堆栈溢出新手:)谢谢RobG:)的建议:dscript必须在head或body中。如果在这些元素之外,宽容的HTML用户代理只会将它们移动到适当的位置(注意头部和身体标记是可选的,因此用户代理可以将头部和身体放在适当的位置)。XML用户代理可能不会。脚本必须在头部或身体中。如果在这些元素之外,宽容的HTML用户代理只会将它们移动到适当的位置(注意头部和身体标记是可选的,因此用户代理可以将头部和身体放在适当的位置)。XML用户代理可能不会。
    <body>
      <!-- Insert these scripts at the bottom of the HTML, but before you use any Firebase services -->
    
      <!-- Firebase App (the core Firebase SDK) is always required and must be listed first -->
      <script async src="/__/firebase/6.3.1/firebase-app.js"></script>
    
      <!-- Add Firebase products that you want to use -->
      <script async src="/__/firebase/6.3.1/firebase-auth.js"></script>
      <script async src="/__/firebase/6.3.1/firebase-firestore.js"></script>
    </body>