假设我有以下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>
</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吗? :)

谢谢你的时间...!

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

最佳答案

那是行不通的。


script元素处于阻塞状态,因此要添加asynchronous属性的脚本要等到所有先前的脚本都运行后才能运行,但是那一次为时已晚。
您已经在DOM Ready处理程序中包装了用于添加属性的脚本,因此即使1不是true,它也仍然无法使用。
该属性是async,而不是asynchronous


您需要在脚本元素添加到DOM之前添加(正确)属性。

09-17 18:54