首页 > 解决方案 > 使用外部 JS 文件中的文档不起作用

问题描述

我正在尝试用 JS 编写游戏。我创建了一个带有画布的 html 文件,一个 main.js 文件,我将在其中编写代码。现在我想获得画布的上下文,这样我就可以在上面画画了。

问题是,当我在 main.js 中创建一个变量“canvas”并为其赋值:document.getElementById('gameScreen'),并在控制台中打印它以查看它是否有效时,我就是不明白任何事物。没有错误,没有消息,控制台保持为空。此外,当我尝试获取画布的上下文时,我的编辑器(Visual Studio 代码,便携版)无法识别 getContext 方法。

首先我认为我的代码是错误的,所以我尝试将其写入标签。并且代码有效。所以我的 javascript 代码只在 html 文件中有效。我有这个问题很长时间了,但我只有很短的脚本,所以将它包含在标签中没有任何问题。但是现在,在单个文件中编写游戏是不可能的,因为它很快就会变得非常混乱。我尝试在其他浏览器(Firefox、Chrome、Chromium、Internet Explorer)中运行 html 文件,但我总是得到相同的结果。

这是html文件:

<html>
    <head>
        <meta charset="utf-8">
        <title>Game - Platformer</title>
        <script src="/js_source/main.js"></script>
        <link rel="stylesheet" type="text/css" href="/css/platformer.css">
    </head>

    <body>
        <canvas id="gameScreen"></canvas>
    </body>

</html> 

这里是 JS 文件:

canvas = document.getElementById("gameScreen");
ctx = canvas.getContext("2d");
console.log(ctx);

我认为这是一个链接问题,是否有特定的内容要在 JS 文件中写入以访问文档?显然代码没有被执行;我想如果变量 ctx 不包含控制台应该告诉它的任何内容,对吗?

标签: javascripthtmlvisual-studio-code

解决方案


推荐阅读