收藏一个清除IE缓存的控件(可以指定清除哪些缓存)。来源:西祠胡同
http://www.xici.net/d119536403.htm
=================================================================
IE使用缓存有利也有弊。好处,自然是下载后的文件不必再次重复下载,节约网络资源与带宽。缺点也是显然的,如果不是网页数据,而是二进制数据,自身的机制不能判断服务器与本地的版本,造成缓存数据不及时更新。这将造成用户使用的是旧数据而不是新数据。如果IE能判断,哪些是网页固含数据(图片、播放媒体文件、动画等)、哪些是下载的文件。IE自身也不能调用删除某一URL或网站缓存的方式。如果程序强制删除所有缓存,似乎有点霸道。
经过研究,尤其是使用插件在线编辑的情况下,需要清除缓存。本地存在缓存文件,则插件下载的是本地数据而不是服务器改过的数据。特别是含有中文名的地址,有可能在服务器上缓存的URL含有乱码。
基于DOMINO系统,可以这样考虑,清除含有该URL的串:http://服务器名/数据库路径/0/文档号/$FILE/,将包含该串的所有缓存删除。
根据MSDN的相关资料,制作插件需要用到操作系统的API。
有兴趣的朋友可以自行尝试。
插件名称:IE.ocx
插件CLSID:68A3E971-5030-49E8-9E86-AAA5464250BF
属性:
URL,需要清除缓存的串前缀,中文名需要注意。
CachePath,需要匹配的第一条在缓存中存放的本地路径。
MaxCount,最大循环次数,适当做限制将会优化速度。设置为0,无此限制。
MaxCacheEntryCount,最多删除条目,适当做限制将会优化性能。设置为0,无此限制。
其他属性,略。
方法:
doRemoveCache,将清除缓存,需要设定URL属性。
注意:IE8千万不要安装兼容性列表视图更新程序,这将造成IE崩溃。
已经测试有问题补丁KB975364、KB976662、KB978506、KB981332。
下载插件:
IE.ocx (124 KB)
Example.html (1 KB)
================================================
MSDN上相关资料:
http://support.microsoft.com/kb/326201
http://msdn.microsoft.com/en-us/library/aa384034(v=vs.85).aspx