Javascript:为什么我无法在mac

时间:2017-06-16 08:32:55

标签: javascript html windows macos browser

客户端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,它可以工作。如上所述。

2 个答案:

答案 0 :(得分:3)

抱歉浪费时间..

问题是我认为只有在加载了所有脚本后才会调用window.onload()。

似乎并非如此,我的问题只是mac和windows之间的时间差异。

答案 1 :(得分:0)

我有一个执行初始化的函数init()。我提名它作为窗口onload()函数调用。

我对js的无知是因为我认为所有文件都会在那时加载。

事实上,我相信,它是 body onload事件,表示所需条件。

当我改为此时,

<body onload = init()>
在OSX和Windows上都很好。因此我想我的问题是由两种环境中不同的加载时间引起的。