外部JS文件导致我的网页显示为空白

Jac*_*k M 1 javascript

我正在制作一个名为Diplomacy的旧策略游戏的基于浏览器的克隆.这是我到目前为止所得到的:

<html>

<head>

<title>Diplomacy</title>
<script type="text/javascript" src="game.js" />

</head>


<body>

<canvas id="canvas" width="750" height="750" style="border: 3px solid black; background:url('DiplomacyMap.png');">
Your browser does not support Canvas.
</canvas>

</body>

</html>
Run Code Online (Sandbox Code Playgroud)

它在浏览器中看起来像什么?一个空白页面.但是,如果我删除头部(game.js)中的外部JS文件的链接,它显示没有问题.这似乎与JS文件的内容没有关系,因为即使我删除它们或将它们全部注释掉,问题仍然存在.这似乎只与元素的存在有关.

如果我用<script src="file.js">嵌入式替换元素<script> ...code... </script>,页面工作正常.

发生什么了?

第2部分:

<script type="text/javascript">
colorProvince(PARIS, FRANCE);
</script>
Run Code Online (Sandbox Code Playgroud)

虽然colorProvince函数和PARIS和FRANCE常量都是在game.js中定义的,但是这个函数没有被调用(由colorProvince函数中的简单alert()验证).这也没有做任何事情:

<script type="text/javascript">
alert(colorProvince);
</script>
Run Code Online (Sandbox Code Playgroud)

Gre*_*ida 9

<script type="text/javascript" src="game.js" />
Run Code Online (Sandbox Code Playgroud)

需要是

<script type="text/javascript" src="game.js"></script>
Run Code Online (Sandbox Code Playgroud)

并且在game.js中有一个额外的分号colorProvince().用这个替换它:

function colorProvince(province, nation){
    alert(5);
    for (var i = 0; i < province.getRectangles().length; i++)
    {
        //colorRect(rect, "red");
    }
}
Run Code Online (Sandbox Code Playgroud)