2

たとえば、google+は次のコードを提供します。

<!-- Place this tag after the last +1 button tag. -->
<script type="text/javascript">
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
</script>

しかし、なぜこれだけではないのですか?

<script async src="https://apis.google.com/js/plusone.js"></script>
4

2 に答える 2

3

asyncとそのいとこdeferは、すべてのブラウザでサポートされているわけではありません。(たとえば、IEはIE10までそれらを取得しませんでした。)最初の方法は常に非同期であり、2番目の方法はをサポートしていないブラウザーでは使用されませんasync

最初のものが常に非同期である理由は、そのscriptように動的にDOMに追加された要素がドキュメントの解析とレンダリングを保持しないのに対し<script>、HTMLコンテンツのインラインタグasync(またはの使用とサポートを除いてdefer)保持するためです。 。

于 2013-03-12T11:39:25.263 に答える
0

良い説明があります:どのブラウザが<script async = "async" />をサポートしていますか?

はい、現在ほとんどのブラウザは非同期をサポートしていますが、通常はコードが機能することを100%保証する必要があり、次に最初のフォームを使用する必要があります

于 2013-03-12T11:42:15.127 に答える