向高手了解一下IE的缓存机制

Karl_He 2007-04-05 08:03:12
项目中用到了股票代码的输入框,想使用经典ajax效果——自动完成。

可是与头头讨论时,头头觉得一输入字符就要服务器相应,而且预计的使用人数有点大的情况下,太耗服务器资源了。
说服不了头头,只有采用变通的方式,把代码表放到js里,使用纯js实现自动完成功能。头头勉强接受。

网上搜索了一圈,发现不少比较好的使用例子,例如:
http://www.javascript-examples.com/autocomplete-demo/

目前有个疑惑的地方,用户打开页面时,代码表js下载到了本地缓存,如果第二天代码表js内容变了的话,页面打开时,IE会读取缓存里的那个js文件,还是下载新的这个呢?
但是如果禁止了客户端缓存的话,一天内多次打开此页面会不会每次重新下载,给用户的感觉又很慢呢?

请高手指点一二
...全文
749 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Karl_He 2007-04-06
  • 打赏
  • 举报
回复
听到一个传言,说ie打开网页时会自动检查那个js文件的发布时间,如果与缓存里不一致,就会下载新的。是否有这个说法啊?
Karl_He 2007-04-06
  • 打赏
  • 举报
回复
自己顶一下,期待高手加入讨论
james_hunter 2007-04-06
  • 打赏
  • 举报
回复
本来正想说,在js里边加上一个表示日期或者版本的常量,然后可以每次check一下服务器本地是否是最新版本的……不过既然ie已经可以搞定了,那就没什么好说的了
Karl_He 2007-04-06
  • 打赏
  • 举报
回复
经过自己的测试,好像那个传言是真的。
做了一下测试,用iis建了一个普通网站,让页面内嵌入使用了一个js。
同时打开ie缓存路径进行文件监视

测试1:ie首次打开网页时,js被down到缓存文件夹。上次修改时间、上次访问时间、上次检查时间,这三个属性的值是一致的。

测试2:隔了一分钟,更改了js文件,ie再此打开这个网页,检查到上次修改时间、上次访问时间、上次检查时间,这三个属性的值又是一致的。

测试3:再隔了一分钟,没有更改js文件,ie再此打开这个网页,检查到上次访问时间、上次检查时间,这两个属性的值是一致的,为打开时的时间,但是上次修改时间显示为1分钟前。

实验结果大致认为:ie打开网页时,会检查js文件是否更新,更新的情况下下载新的到缓存,保持不变的话,不重新下载。
kimiya25 2007-04-05
  • 打赏
  • 举报
回复
现在我也碰到这个问题...
wshuangminlg 2007-04-05
  • 打赏
  • 举报
回复
帮LZ顶

62,017

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧