【发布时间】:2021-12-02 10:35:59
【问题描述】:
HTML 文件 <head> 部分中 script 标记的 defer 属性。这几乎总是意味着我无法在 HTML 中运行 js 函数,因为只有在加载 HTML 文件后才会加载 js 文件。..
我遇到了一种情况,我需要在我的 HTML 文件中运行一个 js 函数,但由于 js 文件中有其他函数,我不想从脚本标签中删除 defer 属性。我查看了使用 async 的可能性,但也没有帮助。
关于如何做到这一点的任何想法......除了使用延迟?我仍然希望将 script 标记保留在 head 中,但这样做意味着我没有打开(非基于函数的)指令链接的 js 文件...这并不总是理想的。
这是 HTML 文件的示例
temp.html
<!DOCTYPE html>
<html lang="en">
<head>
<script src="temp.js" defer></script>
<title>Defer et al</title>
</head>
<body>
<script>
runThisFunction('Home');
</script>
</body>
</html>
这里是一个js文件的示例
temp.js
function runThisFunction(varin) {
console.log(varin);
}
如果我从 js 文件中删除 defer,该函数将运行;如果我把它留在那里,或者改用异步,该函数将不会运行,因为它还没有加载。
对于这个小问题的任何帮助将不胜感激。
【问题讨论】:
-
是什么阻止您使用多个脚本?
标签: javascript html asynchronous deferred script