代码在jsfiddle上运行,但不在网站上运行

Code runs on jsfiddle but not on website

本文关键字:运行 网站 代码 jsfiddle      更新时间:2023-09-26
这可能是

一个简单的问题,我相信这与"加载时"有关,脚本实际上并没有被调用。当我在 jsfiddle 上运行代码时,它工作正常,当我在我的网站上将其作为脚本文件运行时,它不会执行任何操作。

脚本文件中的代码直接进入其中:

var VELOCITY = 0.3; // Half speed is
var PARTICLES = 200;
...
..

我应该在我的 HTML 中有一个单独的行来专门调用该函数,还是最好将我的 javascript 包装成这样的东西:

window.onload=function(){ /* your js here */ }

PS:这不是jQuery。

问题是你已经把脚本标签放在了脑袋里。由于 head 是在正文之前加载的,因此您的脚本会尝试访问不存在的元素。

若要解决此问题,请将脚本移动到正文的末尾。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Hiven</title>
        <link type="text/css" href="css/style.css" rel="stylesheet" media="screen" />
    </head>
    <body>
        <canvas id="projector">Your browser does not support the Canvas element.</canvas>
        <script type="text/javascript" src="js/script.js" ></script>
    </body>
</html>

jsFiddle会自动将类似window.onload=function(){ /* your js here */ }的代码添加到javascript

你的代码中也应该有这样的东西,这样你就可以防止它在错误的时间运行。

只需在标签底部添加脚本标签,如下所示:

<body>
    <canvas id="projector">Your browser does not support the Canvas element.<canvas>
    <script type="text/javascript" src="js/script.js" ><script>
<body>