javascript - 脚本正确但不在浏览器中运行
问题描述
所以我在 HTML 中链接了这个非常基本的 js 脚本,当我尝试运行它时它没有给出任何错误,但它只是没有做它应该做的事情。这是代码:
var canvas = document.getElementById("canvas"),
c = canvas.getContext("2d"),
width = canvas.width = window.innerWidth,
height = canvas.height = window.innerHeight;
c.fillRect(0, 0, 50, 50);
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript' src='main.js'></script>
</head>
<body>
<canvas id='canvas'></canvas>
</body>
</html>
这应该只是在左上角绘制一个正方形,但它什么也不做。它最初是一个相当大的文件,但我将其缩减为这个只是作为概念证明。如您所见,该代码段有效,但 chrome 无效。
解决方案
您的脚本在画布声明之前启动。在脚本启动时,您的画布 dom 对象未定义。此外,将类型更改为 text/javascript。更改为:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<canvas id='canvas'></canvas>
<script type='text/javascript' src='main.js'></script>
</body>
</html>
推荐阅读
- json - 解析长 json vba
- php - 将结果从 api 导入数据库
- reactjs - 样式化的 SVG 组件
- ssl - curl https://github.com 在证书链中出现自签名证书失败
- node.js - 快递不包括资产
- firebase - 在多个 Firebase 实例之间实现单点登录
- javascript - 超出可见区域的 Google Prettify 线条颜色(可预滚动)
- fortran - gfortran 编译器如何处理表达式中的数值系数?
- php - 如何在 woocommerce 中创建自定义产品类型,其中包含从数据面板中选择的类别中提取的 400 多种子产品?
- python - 将特定时间量添加到日期时间列