如何在不更改缓存清单的情况下使用html 5缓存清单时以编程方式更新页面服务器端?

时间:2012-11-21 14:55:53

标签: javascript html5 spring jquery-mobile cache-manifest

我的应用程序具有不同角色的不同界面

我想缓存应用程序并在用户更改其角色时更新它

例子:
 角色用户 - > www.sample.com/index.jsp(用户版)
 角色管理员 - > www.sample.com/index.jsp(管理员版)

案例1:如果用户1访问带有角色用户的www.sample.com/index.jsp,并且之前的连接是与角色用户--->使用缓存版本

案例2:如果用户1访问带有角色管理员的www.sample.com/index.jsp并且之前的连接是与角色用户--->更新缓存

我正在使用jquery mobile,html 5,Java / Spring

1 个答案:

答案 0 :(得分:0)

你做不到。要更新缓存,必须更改清单,文件中的某个位置至少要有一个字节。缓存网站后,客户端只会重新加载清单本身以检查它是否已更改。如果没有,则使用缓存数据。如果已更改,则会加载并缓存“CACHE”下列出的所有资源。

要执行您的计划,您很可能需要一个动态清单,以便您可以稍微将其发送回去,具体取决于用户是否请求管理员。 根据管理员或用户动态更改清单的一种可能方法是在服务器端上有两个单独的清单文件。将通过单个URL请求它们。服务器检查用户是否是管理员(但是你这样做)并返回正确的清单文件。这样,只有当用户从管理员更改为客户端或相反时,才会重新加载缓存。