例如,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>
答案 0 :(得分:3)
async
and its cousin defer
都不是supported。 (例如,IE直到IE10才得到它们。)第一种方法永远是异步的,第二种方法不会出现在不支持async
的浏览器上。
第一个始终是异步的原因是script
元素动态地添加到DOM中,就像不支持文档的解析和呈现一样,而<script>
标记在HTML中内联内容执行(禁止async
或defer
的使用和支持。
答案 1 :(得分:0)
有很好的解释:Which browsers support <script async="async" />?
是的,现在大多数浏览器都支持异步,但通常您需要100%保证您的代码有效,然后您需要使用第一个表单