所以我有一个网站,里面有各种各样的应用程序。每个应用程序都有自己的文件夹并执行不同的操作结构是这样的:
/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文件?