在OpenUI5中强制清除缓存

时间:2014-10-28 07:46:27

标签: javascript meta-tags browser-cache sapui5

我创建了一个OpenUI5应用程序,我想每天重新发布一个新版本。 但我发现了一些问题:

  1. 并不总是在客户端浏览器上加载最新版本的javascript(我有一个显示版本的标签,并且要查看最后一个数字是否需要F5手动刷新)
  2. 我有一个用于绑定菜单的JSon文件。如果我修改它,在客户端浏览器上它仍保留在缓存中,并且F5也不加载新版本。解决方案是浏览器的清晰数据(...)
  3. 现在我的索引页面上有这个元标记:

    <meta http-equiv="expires" content="0" />
    <meta http-equiv="cache-control" content="no-cache" />
    <meta http-equiv="pragma" content="no-cache" />
    

    有没有办法强制重新加载所有内容? (或当我修改版本号?)

2 个答案:

答案 0 :(得分:2)

这实际上取决于您使用什么服务器来提供内容,以及是否可以在向客户端提供各种JS文件时设置标头。不幸的是,这可能只是一直禁用缓存。

还有一个称为“Cache-buster”的内置概念,在此处记录 - OpenUI5 Cache Buster。这样做很聪明,并在从配置文件中读取的url中放置时间戳或版本号。如果您在ABAP堆栈上托管,那么这是内置的,并且易于启用,如果您不是,它仍然很容易手动实现。

答案 1 :(得分:0)

我只使用

解决了我的问题
$localStorage.recent = $localStorage.recent.filter((person) => {
    return second_array.indexOf(person.id) !== -1;
});

如本帖所示:

https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching