我试图获取HTML文件来打印javascript文件的输出,但它似乎没有工作 - 我最终得到一个空白页。
我的HTML文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="sketch.js"> setup()</script>
</head>
<body>
<div id="fog"></div>
</body>
</html>
我的javascript文件(sketch.js)
function setup() {
s = "hello";
document.getElementById('fog').innerText = s;
}
包括在关闭体标记附近调用setup
的脚本,当调用id
时,不存在带fog
setup
的dom
<head>
<meta charset="UTF-8">
<script src="sketch.js"></script>
</head>
<body>
<div id="fog"></div>
<script>setup()</script>
</body>
您的脚本标记是同步的,意味着解析器在完全解析html之前等待并执行脚本的内容。当您的脚本执行时,div甚至不存在。如果您不想推迟脚本或更改其位置,您至少可以使用DOMContentLoaded事件:
window.addEventListener(
"DOMContentLoaded",
function setup() {
var s = "hello";
document.getElementById('fog').innerText = s;
},
false
);
在你的脚本中。