JQuery 在 Dom 中缓存 Ajax 请求 + 性能

标签 jquery performance caching dom

我正在创建一个应用程序,当单击选项卡时,其内容将通过 ajax 加载。这样做的原因是为了加快初始页面加载速度,而不是加载不必要的选项卡内容。这些选项卡包含表单项,其中的值可以更改。

为了防止数据丢失,加载选项卡时我给它一个额外的“ajaxed”类。单击选项卡时,如果“ajaxed”类不存在,则通过 ajax 加载内容,否则仅将先前加载的内容呈现给用户。

问题: 在 dom 中缓存大量 HTML 会降低性能吗? 这是不好的做法吗?这适用于无限滚动和其他类型的页面,您只需不断附加越来越多的 html。这种方法有什么缺点?

提前致谢。

最佳答案

这取决于您的应用领域。 在 DOM 中缓存某些选项卡的内容肯定不会有什么坏处,前提是这些选项卡中的 dom 元素数量有限。

事实上,元素越多,使用选择器在 DOM 中查找元素的脚本就越慢。当访问者使用带有蹩脚 JavaScript 引擎的浏览器(例如旧版本的 Internet Explorer)时,这一点对他们来说会更加明显。而且内存消耗会随着 DOM 元素数量的增加而增加。 所以您不想向 DOM 添加无限数量的项目。

对于无限滚动,一个好的做法是在向下滚动太多时卸载/删除项目,并在再次向上滚动时重新添加它们。

关于JQuery 在 Dom 中缓存 Ajax 请求 + 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10392618/

相关文章:

javascript - jquery 验证错误 预期的标识符、字符串或数字

javascript - 下拉登录菜单

php - Codeigniter insert_batch() 函数性能和限制?

c++ - 避免 C++ 中的非规范值

php - 定期用查询填充 View 数据

javascript - 来自变量的 jQuery 选择器

jquery - 隐藏和显示 Jquery

performance - NoSQL 数据库性能测试

http - "Vary: Accept"HTTP header 的作用是什么?

caching - Spring Boot中如何防止缓存