代码之家  ›  专栏  ›  技术社区  ›  Itay Moav -Malimovka

async=“async”HTML中<script>标记的属性,它是什么意思?

  •  46
  • Itay Moav -Malimovka  · 技术社区  · 15 年前

    async="async" A的属性 <script> 用HTML标记,这是什么意思?

    <script async="async" src="...."></script>
    

    可以看到使用 here 例如

    5 回复  |  直到 7 年前
        1
  •  53
  •   Brian    14 年前

    如果在外部脚本上设置了async属性(其中一个脚本的src为),则支持它的浏览器将在后台下载该脚本,而不会阻塞页面上的其余内容。脚本将在下载完成时执行。

    http://dev.w3.org/html5/spec/Overview.html#attr-script-async

    正如我在注释中提到的,设置async=true、async=false或async=anything都意味着相同的事情。它们启用异步行为。使脚本非异步的唯一方法是完全忽略该属性。

    http://dev.w3.org/html5/spec/Overview.html#boolean-attributes

        2
  •  11
  •   JPA    10 年前

    因此,在XHTML中,需要将属性记为属性及其值,而HTML则不需要。我喜欢这个原则的一致性,所以我总是以以下形式使用它:

    async="async"
    

    通过这种方式,我可以将文档作为application/xhtml+xml提供服务。

    如果您不感兴趣,因为您认为将文档作为文本/html提供足够好,那么您可以始终使用:

    async
    
        3
  •  3
  •   bhavya_w    7 年前

    它只是意味着

    1. 下载 这个 异步(或并行)外部脚本 不阻止HTML解析。
    2. 这个 脚本一旦下载 立即执行 阻止HTML解析。


    Here's 一个很好的例子。

    注: 此属性仅适用于外部脚本(具有src属性的脚本),而不适用于内联脚本。

        4
  •  2
  •   Nick    12 年前

    似乎不需要 async=async 要么,但只是 async

    谷歌:

    第二种方法是使用属性 适当的,这样可以防止解析阻塞初始页 通过延迟加载,直到浏览器的UI线程不忙 别的东西。

    https://developers.google.com/speed/docs/best-practices/mobile#DeferParsingJS

        5
  •  1
  •   Meck Lee    10 年前

    只要异步足够。

    您可以同时尝试这两种方法,然后测量页面速度的差异。喜欢 crictime 使用单一的物质。