2014-03-31 111 views
0

假設我有這樣的HTML內容:我們可以設置JavaScript以異步加載JavaScript嗎?

<html> 
<head> 
<script src="myscript1.js"></script> 
<script src="myscript2.js"></script> 
<script src="myscript3.js"></script> 
<script src="myscript4.js"></script> 
<script src="jquery.js"></script> 
</head> 
<body> 
<!--- CONTENT ---> 
... 
. 
. 
. 
. 
. 
<!--- CONTENT ---> 
</body> 
</html> 

我可以這樣做:

<html> 
<head> 
<script src="myscript1.js"></script> 
<script src="myscript2.js"></script> 
<script src="myscript3.js"></script> 
<script src="myscript4.js"></script> 
<script src="jquery.js"></script> 
<script> 
$(function() { 
$("script").attr("async","async"); 
}); 
</script> 
</head> 
<body> 
<!--- CONTENT ---> 
... 
. 
. 
. 
. 
. 
<!--- CONTENT ---> 
</body> 
</html> 

是不是有效?並會實際上異步加載JavaScript或不? :)

感謝您的時間...!

.............................................. .......................................

+0

你爲什麼不試試? – Ian

回答

1

這是行不通的。

  1. 腳本元素被攔截,因此該腳本添加asynchronous屬性不會運行,直到所有先前的腳本已經運行,但此時它會爲時已晚。
  2. 您已經包裝了在DOM Ready處理程序中添加屬性的腳本,因此即使1不是true,它仍然不起作用。
  3. 屬性是async,不asynchronous

您需要添加的(正確的)屬性腳本元素添加到DOM之前。

1

它不會工作。當您在jQuery代碼之前打印腳本標記時,瀏覽器將在運行代碼之前加載這些腳本文件。

+0

好的,說我在每個腳本之前都說過。那麼這會工作嗎? – mehulmpt

+0

不,我也不會工作,因爲當你用jQuery查找腳本標記時,腳本還沒有打印。 –

相關問題