canvas.width = window.innerWidth;报了一个 Uncaught TypeError: Cannot set properties of null (setting 'width')错误
时间: 2023-12-04 16:04:22 浏览: 147
这个错误表明无法找到对应id的Canvas元素,可能是因为JavaScript代码在HTML中的Canvas元素加载之前执行了。请确保将JavaScript代码放在HTML中的Canvas元素之后,或者在DOM加载完成后再执行JavaScript代码。
您可以使用以下两种方法来确保JavaScript代码在Canvas元素加载后执行:
1. 将JavaScript代码放在HTML文档的底部,确保它在Canvas元素之后加载:
```html
<body>
<canvas id="myCanvas"></canvas>
<script>
const canvas = document.getElementById("myCanvas");
canvas.width = window.innerWidth;
// 其他Canvas相关代码...
</script>
</body>
```
2. 将JavaScript代码包装在DOMContentLoaded事件处理程序中,以确保在DOM加载完成后执行:
```html
<body>
<canvas id="myCanvas"></canvas>
<script>
document.addEventListener("DOMContentLoaded", function() {
const canvas = document.getElementById("myCanvas");
canvas.width = window.innerWidth;
// 其他Canvas相关代码...
});
</script>
</body>
```
通过这些方法,您可以确保JavaScript代码在Canvas元素加载后执行,并且不再出现"Cannot set properties of null"错误。
阅读全文