哪些浏览器支持<script async ="async"/>?

kno*_*orv 191 html javascript performance asynchronous google-analytics

2009年12月1日,Google宣布支持异步Google Analytics跟踪.

使用<script>标记的async指令实现异步跟踪.

哪些浏览器支持async指令(<script async="async" />)以及哪个版本?

Phi*_*eck 161

谷歌指定的异步支持使用两部分实现:

  • 在页面上使用脚本(该脚本由google提供),以便向DOM写出<script>标记.

  • 该脚本具有async ="true"属性,以向兼容的浏览器发出信号,表明它可以继续呈现页面.

第一部分适用于不支持<script async..标记的浏览器,允许它们使用"hack"加载异步(虽然非常可靠),并且还允许在不等待检索ga.js的情况下呈现页面.

第二部分仅影响了解async html属性的兼容浏览器

  • FF 3.6+
  • 适用于Android的FF所有版本
  • IE 10+(从预览2开始)
  • Chrome 8+
  • 适用于Android的Chrome所有版本
  • Safari 5.0+
  • iOS Safari 5.0+
  • Android Browser 3.0+(蜂窝状)
  • Opera 15.0+
  • Opera Mobile 16.0+
  • Opera Mini (自8.0起)

指定异步的"html5正确"方式是a <script async src="...",而不是<script async="true".但是,最初浏览器不支持此语法,也不支持在引用的元素上设置脚本属性.如果你想要这个,列表会改变:

  • FF 4+
  • IE 10+(预览2及以上)
  • Chrome 12+
  • 适用于Android 32+的Chrome
  • Safari 5.1+
  • 没有Android版本

  • @vsync:它甚至不应该是'true`; `async`,`async =""`或`async ="async"`. (39认同)
  • 我不确定你甚至需要async ="true",你可以写'异步' (33认同)
  • @Tobias:你正在混合HTML布尔属性和相应的DOM元素属性:HTML属性(存在于标记中以及使用`setAttribute`显式设置属性时,不推荐使用)应该只存在或设置为空字符串或其自身(`defer ="defer"`,在编写符合XHTML的文档时尤其重要); 当使用JavaScript动态设置元素的属性时,应该使用`s.async = true`. (8认同)
  • 所以,如果我像google一样生成脚本标签,那么它将是正确的:var s = document.createElement('script'); s.async = '真'; s.async = TRUE; (谷歌这样做)或s.async ='async'; ? (4认同)
  • 请注意,问题中链接的帖子设置为"async ="true"`.这不是正确的方法*现在*,但它是唯一得到广泛支持的方式*然后*.例如IE10p2支持`async ="true"`但不支持`async ="async"` (4认同)

Kyl*_*son 60

这个问题有两部分,真的.

  1. 问:哪些浏览器支持标记中脚本标记的"async"属性?

    答:IE10p2 +,Chrome 11 +,Safari 5 +,Firefox 3.6+

  2. 问:哪些浏览器支持在动态创建的脚本元素上定义JavaScript中"async" 属性行为的新规范?

    答:IE10p2 +,Chrome 12 +,Safari 5.1 +,Firefox 4+

至于Opera,他们非常接近发布支持两种类型的异步的版本.我一直在和他们密切合作,很快就会出来(我希望!).

有关ordered-async(aka,"async = false")的更多信息,请访问:http://wiki.whatwg.org/wiki/Dynamic_Script_Execution_Order

此外,要测试浏览器是否支持新的动态异步属性行为:http://test.getify.com/test-async/


Jer*_*Lee 25

此处async提供支持该参数的浏览器版本的完整列表

  • 这是正确的答案..它随着时间的推移而不断变化. (4认同)

tva*_*son 10

从您引用的页面:

http://googlecode.blogspot.com/2009/12/google-analytics-launches-asynchronous.html

Firefox 3.6是第一款正式支持这一新功能的浏览器.如果你很好奇,这里有关于官方HTML5异步规范的更多细节.