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

IT技术 javascript html performance asynchronous google-analytics
2021-02-09 00:44:41

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

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

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

6个回答

谷歌指定的异步支持是通过两部分实现的:

  • 在您的页面上使用脚本(该脚本由 google 提供)将 <script> 标记写出到 DOM。

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

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

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

  • FF 3.6+
  • FF for Android 所有版本
  • IE 10+(从预览版 2 开始)
  • 铬 8+
  • Chrome for Android 所有版本
  • Safari 5.0+
  • iOS Safari 5.0+
  • Android 浏览器 3.0+(蜂窝向上)
  • 歌剧 15.0+
  • 歌剧手机版 16.0+
  • Opera Mini(从 8.0 开始)

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

  • 外援 4+
  • IE 10+(预览版 2 及更高版本)
  • 铬 12+
  • 安卓版 Chrome 32+
  • Safari 5.1+
  • 没有安卓版本
请注意问题集中的帖子链接async="true"这不是做正确的方式,现在,但它是这样做的唯一的广泛支持的方式例如支持IE10p2async="true"但不支持async="async"
2021-03-26 00:44:41
所以如果我像谷歌那样生成脚本标签 - 什么是正确的: var s = document.createElement('script'); s.async='true';s.async=true; (谷歌这样做)或 s.async='async'; ?
2021-03-29 00:44:41
我不确定你甚至需要 async="true",你可以只写 'async'
2021-04-07 00:44:41
@vsync:它甚至不应该是true要么asyncasync=""要么async="async"
2021-04-09 00:44:41
@Tobias:您将 HTML 布尔属性和相应的 DOM 元素属性混合在一起:HTML 属性(存在于标记中,并且在使用 显式设置属性时setAttribute,不推荐)应该只存在或设置为空字符串或本身( defer="defer", 在编写符合 XHTML 的文档时尤其重要); 当使用 JavaScript 即时设置元素的属性时,应该使用s.async = true.
2021-04-10 00:44:41

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

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

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

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

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

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

可以在此处找到有关有序异步(又名“async=false”)的更多信息:http : //wiki.whatwg.org/wiki/Dynamic_Script_Execution_Order

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

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

从您引用的页面:

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

Firefox 3.6 是第一个正式支持此新功能的浏览器。如果您好奇,这里有关于官方HTML5 异步规范的更多详细信息

“这个新功能”指的是 HTML5 异步属性。所有浏览器都支持 Google Analytics 异步代码段。
2021-03-22 00:44:41

async目前由主流浏览器的所有最新版本的支持。大多数浏览器已经支持它多年了。

您可以在此处的 MDN 网站中跟踪哪些浏览器支持异步(和延迟):https :
//developer.mozilla.org/en-US/docs/HTML/Element/script

@MichaelGaskill 这够了吗?你想让我链接到菲利普的回答吗?
2021-03-28 00:44:41
虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会无效。-来自评论
2021-04-04 00:44:41