3

在为这个 Web 应用程序在同一个 HTML 文件中编写 CSS、Javascript 和 HTML5 代码之后,我决定将 CSS 和 Javascript 拆分为各自的外部文件,并将它们包含到 HTML5 文件中。

在我添加以下内容之前,我遇到了一个关于 Javascript 代码不起作用的小问题:

window.onload = function() { //script code}

现在看起来一切正常,但功能不加载。由于我使用 Firebug 发现的错误表明该函数尚未定义,但它显然是。

这是代码:

HTML 页面 http://turing.cs.olemiss.edu/~sbadams2/RebelFlow.html

JS 文件 http://turing.cs.olemiss.edu/~sbadams2/RebelFlow.js

我已经阅读了其他回复,其中指出路径可能不正确,但 Javascript 文件中的所有其他内容都可以正常加载,但实际函数除外。

我不确定是什么导致了这个问题。

4

1 回答 1

6

问题在于 javascript 具有函数作用域,这意味着在函数内部定义的变量/函数仅在该函数内部可见,而不是外部可见。window.onload=function(){/*your code here*/}创建一个额外的范围,例如,您的createWellPump()函数在 window.onload 包装函数之外是未知的。

最简单的解决方案是再次删除包装器,然后直接在结束标记window.onload之前加载脚本。</body>

于 2012-04-10T02:30:33.213 回答