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

时间:2014-11-14 10:01:43

标签: javascript html

这可能是一个简单的问题,我相信它与#34; on load",脚本实际上没有被调用。当我在jsfiddle上运行代码时,它运行正常,当我在我的网站上将其作为脚本文件运行时,它没有做任何事情。

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

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

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

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

PS:这不是jQuery。

3 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

问题是你已将脚本标记放在头部。由于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>