我已经开发了一个具有多个视图的单页Web应用程序。为了渲染这些视图,使用了ng-if。这些视图没有标题或正文部分,而只有html代码。
每个视图都有一个单独的控制器。许多点击功能已使用Jquery处理。对于后端,已使用java。整个应用程序是在Spring MVC中开发的,并已部署在WebLogic上。
问题是,无论何时我对视图(.jsp文件)或js或css文件进行任何更改,在部署新的WAR文件而不清除缓存并进行硬刷新(ctrl + F5)后,它都不会得到反映。 / R)。
我以服务人员的形式得到了答复,但IE10不支持它。
我需要一个永久的解决方案,因为我有5000多个用户,并且我不能要求每个部署之后的每个人都这样做。
当我将它包含在(filename.js?version = 2.1)的index.jsp中时,我试图提供一个版本。但这似乎对我不起作用。我没有在chrome或任何其他浏览器上测试此功能,因为只有IE10,edge可供我和用户使用。
我唯一想做的是,只要.css,.jsp,.js文件中有更新,浏览器就应该用较新的文件替换较旧的文件。
预先感谢
答案 0 :(得分:1)
您可以做的是对HTML页面中包含的所有文件进行版本化
<html>
<head>
<script src='whatever.v1_2_3.js'></script>
<link href='whatever.v3_4_5.css'/>
</head>
<body>
...
</body>
</html>
这样,每当您更改HTML中的版本时,如果文件尚未缓存,文件将被下载,从而迫使浏览器始终处于最新状态。
答案 1 :(得分:0)
创建一个像window.app_version = 2.0
这样的全局变量,然后在引用html页面的任何地方添加版本。
'views/layouts/plain.html?v='+window.app_version
每次构建应用时,只需更新app_version