1 декабря 2009 года Google объявил о поддержке асинхронного отслеживания Google Analytics .
Асинхронное отслеживание достигается с помощью директивы async для <script>
тега.
Какие браузеры поддерживают директиву async ( <script async="async" />
) и с какой версии?
Ответы:
Асинхронная поддержка, как указано в Google, состоит из двух частей:
используя скрипт на своей странице (скрипт поставляется Google), чтобы записать тег <script> в DOM.
этот скрипт имеет атрибут async = "true", чтобы сообщить совместимым браузерам, что он может продолжить рендеринг страницы.
Первая часть работает в браузерах без поддержки
<script async..
тегов, что позволяет им загружать асинхронные файлы с помощью «хака» (хотя и довольно надежного), а также позволяет отображать страницу, не дожидаясь получения ga.js.Вторая часть касается только совместимых браузеров, которые понимают атрибут async html
«Правильный html5» способ указать асинхронность - это
<script async src="..."
не<script async="true"
. Однако изначально браузеры не поддерживали этот синтаксис и не поддерживали установку свойства script для ссылочных элементов. Если вы хотите это, список изменится:источник
setAttribute
, что не рекомендуется) должен просто присутствовать или быть установлен либо на пустую строку, либо на себя (defer="defer"
особенно важно при написании XHTML-совместимых документов); при установке свойства элемента на лету с использованием JavaScript, следует использоватьs.async = true
.true
; илиasync
,async=""
илиasync="async"
.async="true"
. Это не правильный способ сделать это сейчас , но это был единственный широко поддерживаемый способ сделать это тогда . Например, IE10p2 поддерживал,async="true"
но не поддерживалasync="async"
На самом деле есть две части этого вопроса.
Вопрос: Какие браузеры поддерживают атрибут «async» для тега сценария в разметке?
A: IE10p2 +, Chrome 11+, Safari 5+, Firefox 3.6+
Q: Какие браузеры поддерживают новую спецификацию , которая определяет поведение для «асинхронной» собственности в JavaScript, на динамически созданный элемент сценария?
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
источник
В
async
настоящее время поддерживается всеми последними версиями основных браузеров. Это поддерживается в течение нескольких лет в большинстве браузеров.Вы можете отслеживать, какие браузеры поддерживают асинхронность (и откладывать) на веб-сайте MDN здесь:
https://developer.mozilla.org/en-US/docs/HTML/Element/script
источник
Только что взглянул на DOM (document.scripts [1] .attributes) этой страницы, которая использует Google Analytics. Я могу сказать вам, что Google использует async = "".
источник