【发布时间】:2012-09-28 04:16:40
【问题描述】:
我正在构建使用大量 javascript 的大型网站,我的所有内容都通过ajax 加载,它与 facebook 非常相似,并且由于有很多不同的页面,我需要大量的 javascript,所以什么我想到的是将我的脚本分成几个部分,每个页面都有自己的脚本文件。
现在加载很简单,我只是为每个页面加载一个新文件,但我担心的是如果用户浏览 100 个不同的页面并加载 100 个不同的脚本文件会发生什么?
目前我的网站没有那么多页面,但我很确定它会在未来某个时候增长到近 100 个独立页面。
那么计算机速度较慢的用户会发生什么?我猜它会开始放慢很多,因为没有刷新。根据我的阅读,不可能以任何简单的方式从加载的脚本文件中卸载所有事件和数据,如果我尝试这样做可能会花费我很多时间和精力。
所以我的问题是,我应该保持原样还是尝试做点什么?我目前使用 jquery 和几个插件,如果我不得不猜测平均文件将是大约 50-200 行代码,其中大部分是 click 事件和 ajax 调用。
注意,每个页面对象对每个类都有自己的前缀,例如:home_header、login_header
所以onClick事件监听器和类似的东西之间不应该有任何冲突。
编辑我在这个问题上设置赏金,我想听听更多的意见。
【问题讨论】:
-
我会考虑使用像 Backbone 这样的库来更好地组织它,并且通过保持整洁你可能会获得一些性能。我们可以看看你的一些代码吗?也许优化是这里的关键......
-
该网站可能有 100 多个页面,但它真的有 100 多个 类型 页面吗?我怀疑即使是 FB 也有这么多页面类型。
-
@Beetroot-Beetroot 好吧,我在展望未来,目前它不会有 100+,但我很确定随着时间的推移它会增长到那个规模
-
@elclanrs 目前我没有写那么多脚本,这就是为什么我在开始编写大部分脚本之前征求意见的原因
-
如果 ajax 内容不涉及 eventhooks 和其他类型的脚本,你无需担心。如果是这样 - 请务必销毁各种侦听器和数据存储
标签: javascript jquery javascript-events