问题清除Chrome中的缓存

时间:2017-05-04 13:44:52

标签: angularjs spring browser-cache

我有一个使用Angular作为前端的Java / Spring MVC WebApp。 ui应用程序作为Web应用程序的一部分部署在src> main> webapp文件夹中。问题是当我对CSS或HTML文件进行任何更改时,不会立即反映出来。我也尝试过清除缓存和硬重置但无济于事。

我尝试在隐身模式下运行该应用,但它不起作用。

请帮忙。

1 个答案:

答案 0 :(得分:-1)

如果更改服务器上文件的日期和时间,则可以单独重新加载特定资源。 “清除缓存”并不像应该的那样容易。我没有清除浏览器上的缓存,而是意识到“触摸”缓存的服务器文件实际上会改变缓存在服务器上的源文件的日期和时间(在Edge,Chrome和Firefox上测试),并且大多数浏览器会自动下载最多当前最新的服务器副本(代码,图形任何多媒体)。我建议您在程序运行之前复制服务器上的最新脚本和“触摸事物”解决方案,这样它会将所有问题文件的日期更改为最新的日期和时间,然后它会将新的副本下载到您的浏览器:

    <?php
    touch('/www/sample/file1.css');
    touch('/www/sample/file2.css');
    touch('/www/sample/file2.css'); 
    ?>

然后......你的其他程序......

我花了一些时间来解决这个问题(因为许多浏览器对不同的命令采取不同的行动,但他们都检查文件的时间并与浏览器中下载的副本进行比较,如果不同的日期和时间,将进行刷新) ,如果你不能按照假设的正确方式,总会有另一个可用的更好的解决方案。最好的问候和快乐的露营。顺便说一下touch();或者替代品在许多编程语言中工作,包括在javascript bash sh php中,你可以在html中包含或调用它们。