我们可以将javascript设置为使用javascript异步加载吗?

Can we set javascript to load asynchronously with javascript?

本文关键字:javascript 异步 加载 设置 我们      更新时间:2023-09-26

假设我有这个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 吗?:)

感谢您抽出宝贵时间...!

......

......

那行不通。

    脚本
  1. 元素正在阻塞,因此添加 asynchronous 属性的脚本在运行所有以前的脚本之前不会运行,但此时为时已晚。
  2. 您已经将添加属性的脚本包装在 DOM Ready 处理程序中,因此即使 1 不为 true,它仍然不起作用。
  3. 属性是async,而不是asynchronous

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

它不起作用。当您在 jquery 代码之前打印脚本标记时,浏览器将在运行代码之前加载这些脚本文件。

您可以使用

getScript()异步加载脚本

$.getScript("/path/to/script.js",function(){
  // loaded
}); 

-----> https://api.jquery.com/jQuery.getScript/