【发布时间】:2013-08-26 05:48:35
【问题描述】:
情况
我正在对一个包含多个页面的 Web 应用程序进行原型设计,其中一些页面具有严重的 JavaScript 负载。我有一个(不是很原始)让页面布局加载一次的想法,并且只使用 ajax 请求更改内容。这可以做到,而且效果很好,但我有一些顾虑。
站点检查它收到的每个请求,如果是 AJAX 请求,它只返回内容(作为 MVC 4 部分视图,但这不是重点,这可以在任何地方完成。)否则,它加载整个页面,包括布局和所有内容。 这个想法是为我正在下载的每个 javascript 包设置一个状态标志。布局会有一个初始化js文件,包含页面的基本显示逻辑,如何获取内容等。
所有内容页面都会检查是否加载了它们的相关脚本,如果没有,则启动下载,并在成功事件中设置正确的标志。当 ajax 调用由于某种原因失败时,需要进行一些额外的错误处理。
问题
现在我担心的是,一些“子页面”上有很多 JS。由于我必须能够在移动浏览器上工作(尽管最重 js 的东西只是桌面,但让我们暂时忘记这一点),如果我加载了几 MB 的脚本,它将如何影响性能内存,并且“从不”卸载它们(因为页面没有重新加载)。另外,如果我通过 jQuery.getScript(...) 函数获取脚本,它们会被缓存吗?还是我应该以其他方式加载脚本?
同样的内容问题。如果我从 body 中移除 DOM 元素,用其他元素替换它们,然后重新加载原始子页面,在长期使用过程中,这对内存使用和性能有什么影响?
我真的很想找一个在这个领域有经验的人给我一些关于我所关心的问题的见解,然后再用一个无用的概念验证原型让自己看起来完全愚蠢。
提前致谢!
编辑:将标题改为正确的表达方式
编辑 2: 区分什么是问题,什么是上下文
【问题讨论】:
标签: javascript jquery html ajax web