<script async =“ async” />をサポートするブラウザーはどれですか?


196

2009年12月1日、Googleは非同期Google Analyticsトラッキングのサポートを発表しました。

非同期追跡は、<script>タグのasyncディレクティブを使用して実現されます。

どのブラウザーがasyncディレクティブ(<script async="async" />)をサポートし、どのバージョン以降ですか?


1
「Firefox 3.6は公式にこの新機能のサポートを提供する最初のブラウザです」FWIWこれはHTML5機能であり、急速に改善が進んでいます。
クレセントフレッシュ

51
HTML5仕様では、async = "true"は違法であるとしています。ブールHTML属性として、属性の存在は「true」を示し、属性の不在は「false」を示します。属性が存在する場合、属性の有効な値は「」と「async」のみです。
Joel Mueller、

これは、この属性html5demo.braincracking.org/demo/async.phpのライブテストです。

3
これは、この問題に興味がある人のために頻繁にチェックするブックマークする必要があります:en.wikipedia.org/wiki/Comparison_of_layout_engines_%28HTML5%29
pumpkinthehead

回答:


162

googleによって指定された非同期サポートは、2つの部分を使用して実現されます。

  • ページでスクリプトを使用して(スクリプトはグーグルによって提供されます)、DOMに<script>タグを書きます。

  • このスクリプトには、ページのレンダリングを続行できることを互換性のあるブラウザーに通知するasync = "true"属性があります。

最初の部分は、<script async..タグをサポートしていないブラウザでも機能し、「ハック」で非同期にロードできます(かなり堅実なものです)。また、ga.jsが取得されるのを待たずにページをレンダリングできます。

2番目の部分は、非同期のhtml属性を理解する互換性のあるブラウザーにのみ影響します

  • FF 3.6以降
  • FF for Androidすべてのバージョン
  • IE 10+(プレビュー2以降)
  • Chrome 8以降
  • Chrome for Androidすべてのバージョン
  • Safari 5.0以降
  • iOS Safari 5.0以降
  • Androidブラウザー3.0以上(ハニカムがオン)
  • Opera 15.0以降
  • Opera Mobile 16.0以降
  • Opera Mini なし(8.0以降)

非同期を指定する「html5の適切な」方法は、 <script async src="..."ではなくを使用すること<script async="true"です。ただし、当初、ブラウザーはこの構文をサポートしていませんでした。また、参照された要素のスクリプトプロパティの設定もサポートしていませんでした。これが必要な場合は、リストが変更されます。

  • FF 4+
  • IE 10+(プレビュー2以上)
  • Chrome 12以降
  • Chrome for Android 32以降
  • Safari 5.1以降
  • Androidバージョンなし

34
async = "true"も必要かどうかは
わかり

4
だから私がグーグルのようにスクリプトタグを生成した場合-何が正しいでしょう:var s = document.createElement( 'script'); s.async = 'true'; s.async = true; (Googleはそのようにしています)またはs.async = 'async'; ?
Toby

8
@Tobias:HTMLブール属性と対​​応するDOM要素のプロパティを混ぜ合わせます:HTML属性(マークアップに存在しsetAttribute、を使用して属性を明示的に設定する場合、これは推奨されません)が存在するか、空の文字列またはそれ自体に設定されている必要があります(defer="defer"、特にXHTML準拠のドキュメントを書くときに重要です); JavaScriptを使用して要素のプロパティをオンザフライで設定する場合は、を使用する必要がありますs.async = true
Marcel Korpel、2010

39
@vsync:すべきではありませんtrue。いずれかasyncasync=""またはasync="async"
Marcel Korpel、2010

4
質問セットにリンクされている投稿に注意してくださいasync="true"。それはそれを行う正しい方法ではありませんが、それは当時それを行うために広くサポートされている唯一の方法でした。たとえば、IE10p2はサポートされてasync="true"いますがサポートされていませんでしたasync="async"
Philip Rieck

60

この質問には2つの部分があります。

  1. Q:マークアップのスクリプトタグで「async」属性をサポートしているのはどのブラウザーですか?

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

  2. Q:動的に作成されたスクリプト要素で、JavaScriptの「async」プロパティの動作を定義する新しい仕様をサポートしているブラウザーはどれですか?

    A:IE10p2 +、Chrome 12以降、Safari 5.1以降、Firefox 4以降

Operaに関しては、両方のタイプの非同期をサポートするバージョンのリリースに非常に近いです。私はこれについて彼らと密接に協力してきましたが、すぐに出てくるでしょう(私は願っています!)。

ordered-async(別名 "async = false")の詳細については、http//wiki.whatwg.org/wiki/Dynamic_Script_Execution_Orderを参照してください。

また、ブラウザーが新しい動的非同期プロパティの動作をサポートしているかどうかをテストするには、http//test.getify.com/test-async/



10

参照ページから:

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

Firefox 3.6は、この新機能のサポートを公式に提供した最初のブラウザです。興味がある方は、公式のHTML5非同期仕様の詳細をご覧ください。


「この新機能」は、HTML5の非同期属性を指します。Googleアナリティクスの非同期スニペットは、すべてのブラウザでサポートされています。
ブライアン

1

async現在、主要なブラウザの最新バージョンでサポートされています。現在、ほとんどのブラウザで数年間サポートされています。

次のMDN Webサイトで非同期(および延期)をサポートするブラウザーを追跡できます:https :
//developer.mozilla.org/en-US/docs/HTML/Element/script


このリンクで質問に答えることができますが、回答の重要な部分をここに含め、参照用のリンクを提供することをお勧めします。リンクされたページが変更されると、リンクのみの回答が無効になる可能性があります。- 口コミより
マイケルGaskill

@MichaelGaskillこれで十分ですか?フィリップの答えにリンクして欲しいですか?
brunoais

0

Googleアナリティクスを使用するこのページのDOM(document.scripts [1] .attributes)を見たところです。Googleがasync = ""を使用していることがわかります。

[type="text/javascript", async="", src="http://www.google-analytics.com/ga.js"]
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.