我不懂js的一件事。如果我有我的.js文件和HTML,我有以下代码:
<head>
<script src="skrypt.js"></script>
</head>
<body>
Content
</body>
这是否意味着在第一次执行时我的skrypt.js会被执行?
因为当我在我的skrypt.js代码中时:
document.write("HelloWorld")
输出是“HelloWorld”但是当我在skrypt.js中时:
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
context.fillStyle = "red";
context.fillRect(0, 0, 300, 300);
页面为空白,我必须使用事件:
<body onload="drawCanvas();">
</body>
其中drawCanvas()具有与外部.js文件相同的代码。
那么为什么document.write正在工作而canvas不是???
答案 0 :(得分:0)
在DOM准备好之前处理头部加载的JavaScript文件。你需要在window.onload中包装你的函数,在页面加载后在别处调用它,或者把外部文件调用放在页面文档的底部,就在结束体标记之前。