假设我有以下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之前添加(正确)属性。