Javascript文件在不应该被加载时被加载

时间:2016-10-01 13:43:13

标签: javascript

所以我有一个网站,里面有各种各样的应用程序。每个应用程序都有自己的文件夹并执行不同的操作结构是这样的:

/appsfolder/

然后为每个应用程序

/appsfolder/name of app/
/appsfolder/name of app/js.min.js
/appsfolder/name of app/index.php
/appsfolder/name of app/help.php

然后是一些通用文件

/appsfolder/generic_javascript.js
/appsfolder/css.min.css

到目前为止,我已经写了七个没有问题的应用程序。然后我写了第八个应用程序,这让一些事情变得有趣,具体而清晰,让我帮你完成。

I run app 1 - No problem.
I run app 2-7. No problem.
I run app 8, the new app. No problem.
I run app 1 again. NOW app 1 is overlayed with app 8, the NEW app. 

我已经尝试重命名app 8的javascript文件,但无济于事,它也是同样的问题。

应用程序8与其他应用程序的唯一区别是,我使用requestAnimFrame来动画每个应用程序生成的图表(其他应用程序中没有动画,只有静态图像),并且当我最小化它时我混淆了javascript代码。

每个index.php文件都是相同的格式,每个应用程序的每个数据库条目都是相同的格式。应用程序8运行得很好,这意味着一切都在数据库和文件结构中的正确位置...它只是叠加到旧的应用程序上。

旧应用程序不会相互干扰,它只是新应用程序。

我不知道我可以发布什么来帮助那些代码,而且该网站还没有现场,所以我不能给你一个版本。我只是想知道是否有人对可能导致这种情况的人提出任何建议?

谢谢。 亚历

编辑:哦!我的网站都是基于Ajax的,没有页面重新加载,只是后续的Ajax调用。 js.min.js可能第一次加载,但随后每次调用一个新的js.min.js都会覆盖旧的吗?

每个不属于新应用的应用都使用draw()函数绘制到画布,但新的应用程序执行此操作:

draw() {
    // one time calculations
    animate();
}

animate() {
    // draw stuff to canvas
    requestAnimFrame(animate);
}

所以也许我需要考虑在用户离开页面后如何卸载javascript文件?

0 个答案:

没有答案