客户端JS程序包括以下几行:
<script src='../../LIBS/jwlib.js'></script>
<script src ='../js/header.js'></script>
<script src ='../js/session.js'></script>
<script src ='../js/classes.js'></script>
<script src ='../js/main.js'></script>
它可以在Windows下的任何浏览器上正常运行。但是在我的iMac上,它失败了,因为它无法找到jwlib中定义的函数。 Chrome开发者工具找不到jwlib。
出了什么问题?
该计划本身位于http://www.johnwheater.net/JAVASCRIPT/MULTIBODY/html/main.html
谢谢,Hugues和Chetan,感兴趣。在加载时,我们应该看到一个带有两个正方形的画布,一个是蓝色,一个是黑色。蓝色应显示1到50之间的数字集合,以及标有BEGIN的按钮。当你按下那个按钮时,数字应该开始潇洒。
这不会发生在我的iMac上,Chrome Devtools会报告缺少函数get_random_integer()。如果在main.js的第366行放置断点,则会看到该呼叫,并且在您继续时会失败。
此函数位于未找到的文件jwlib.js中。
我制作了一个新版本,将缺少的功能粘贴到main.js.这称为MULTIBODY2而不是MULTIBODY,它可以工作。如上所述。
答案 0 :(得分:3)
抱歉浪费时间..
问题是我认为只有在加载了所有脚本后才会调用window.onload()。
似乎并非如此,我的问题只是mac和windows之间的时间差异。
答案 1 :(得分:0)
我有一个执行初始化的函数init()。我提名它作为窗口onload()函数调用。
我对js的无知是因为我认为所有文件都会在那时加载。
事实上,我相信,它是 body onload事件,表示所需条件。
当我改为此时,
<body onload = init()>
在OSX和Windows上都很好。因此我想我的问题是由两种环境中不同的加载时间引起的。