2014-01-22 42 views
2

Html5異步屬性vs js異步屬性有什麼區別?Html5異步屬性vs js異步屬性

<script src="http://www.google-analytics.com/ga.js" async> 

(function() { 
    var ga = document.createElement('script'); 
    ga.type = 'text/javascript'; 
    ga.async = true; 
    ga.src = 'http://www.google-analytics.com/ga.js'; 
    var s = document.getElementsByTagName('script')[0]; 
    s.parentNode.insertBefore(ga, s); 
})(); 

是它們可互換

+0

'(function(){...});'在' ...'或在js文件上? –

+0

其在頭部標籤 – aWebDeveloper

+0

我相信在頭部標籤內的效果是相同的。我個人更喜歡'

0

JavaScript正在創建您正在討論的HTML元素。在JavaScript中,屬性本身沒有意義,在這種情況下,它只是一個值爲true的屬性。

當瀏覽器讀取HTML時,該值會有意義。

3

不,它們不可互換。

具有異步屬性的腳本標記在第一次下載之後並且在window.onload事件之前執行。所以當腳本執行時,你不知道。 另一方面,在JavaScript文件中加載的腳本可以隨時執行(在window.onload事件之前或之後)。

部分鏈接:http://davidwalsh.name/html5-async,https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script

編輯: ga.async = true;如薩勒曼A.答案(https://stackoverflow.com/a/14666847/2044286)所述被分析器刪去。

+0

那麼如果你設置's.async = false',會發生什麼? –

+0

沒什麼。它沒有效果(對於小文件,至少)。 –