ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript-使用.js文件缓存大型下拉列表

2019-12-10 03:45:20  阅读:334  来源: 互联网

标签:client-side javascript


我想将大型UI列表的内容保留在客户端上,并根据条件或定期进行更新.然后,客户端代码可以只在本地填充下拉列表,从而避免了较长的页面下载时间.

这些列表可能接近4k,并且动态过滤它们而不进行缓存将导致多次往返.

我该怎么办?我的意思是,哪种模式和策略适合于此?

解决方法:

JSON的积极缓存将对此起作用,您只需对JS文件进行哈希处理,然后将其放在URL的末尾以在更改时进行更新即可.一个修订版可能看起来像这样:

/media/js/ac.js?1234ABCD

并且,当文件更改时,哈希值也会更改.

/media/js/ac.js?4321DCBA

这样,当客户端加载页面时,您的服务器端代码将链接到哈希URL,并且客户端将在其下一页加载时收到304 Not Modified响应(假设您在服务器上启用了此功能).如果使用此方法,则应将文件设置为永不过期,因为“过期”部分将由哈希处理,即,当JS文件确实过期时,哈希将更改,并且客户端将不会获得304 ,而是200.

ac.js可能包含一个列表或其他可迭代项,您的自动完成代码可以将其解析为完成池,并且您可以像访问其他任何JS变量一样访问它.

但是,实际上,对于大多数项目而言,这不是必需的.使用诸如memcached服务器端和gzip压缩之类的文件将使文件变小而且加载速度惊人.如果列表很大(例如成千上万的项目),您可能需要考虑一下.

标签:client-side,javascript
来源: https://codeday.me/bug/20191210/2098995.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有