现在有这样一个问题。由于浏览器有缓存,每次发布新本版之后总会有人说浏览不到最新版本。
现在我想在发布之前在每个js,css,aspx添加一个版号,来达到每个用户能够访问到最新版本。
这样能不能够实现。或者有什么更好的办法吗?

解决方案 »

  1.   

    浏览器缓存,刷新下不就可以啦
    BS的程序更新后重启IIS或者更新前先在IIS中停止该项目,更新完成后启动就OK。不用什么版本区别的!
      

  2.   

    http://blog.csdn.net/wu_huiwen/archive/2010/09/03/5861731.aspx
      

  3.   

    楼主的这个问题不是缓存的问题
    应该是客户浏览的历史被保存了
    js和css都保存在客户端了,这玩意删除比较麻烦,每个浏览器的方法都不一样。
    最好的办法就是加时间戳
    但是加上时间戳后每次都重取也不是很好
    所以还是按照楼主最开始的想法,给你的资源(js,css等文件)加版本号吧。
      

  4.   

    js,css 加本版号不难,但是要html页面那就比较麻烦了。
    因为要在每个链接他的地方去改链接地址。这样太麻烦了。
    如果通过程序去跑去替换链接地址。假如页面多了效率就是问题了。
      

  5.   


    var timestamp = (new Date()).valueOf();  
    这样写不太好。这样会使得js css每次都得从新去请求一次,就效率来说不怎么好。
      

  6.   

    这个就跟你的程序结构有搞关系了。
    可以设置版本号变量啊,从设置文件中读取也行。
    或者建Master页。反正就大改一次就可以了,之后修改版本号就OK了。
      

  7.   


    js,css还可以,但是html页面怎么办。而且程序中间有链接。
      

  8.   

    不是aspx吗?动态生成的应该没有问题吧
      

  9.   

    function convertUrl(url) {  
        var timestamp = (new Date()).valueOf();  
        if (url.indexOf("?") >= 0) {  
            url = url + "&t=" + timestamp;  
        } else {  
            url = url + "?t=" + timestamp;  
        }  
        return url;  

    时间戳不知道可不