如何以编程方式禁用GWT的html缓存

时间:2010-04-01 07:22:37

标签: gwt

有没有办法通过GWT禁用浏览器中html页面的缓存?

我宁愿避免在我的html页面的标题中插入META HTTP-EQUIV =“EXPIRES”CONTENT = ...而是以编程方式执行 - 如果可能的话。

2 个答案:

答案 0 :(得分:1)

如果可能(并且有任何效果)使用GWT / JavaScript,我会感到惊讶,因为这意味着,当用户查看页面时,页面缓存的时间和长度的问题可能会发生变化

但即使它是,它也无法使用代理,因为它们不会评估JavaScript ...对于您的Web服务器也是如此,它应该为具有该HTTP标头的页面提供服务。

因此,如果您想使您的缓存http-equiv元标记动态化,您应该在应用程序服务器上执行此操作:使用Servlet或任何动态页面(如果需要,甚至可以是PHP)来生成HTML页面。你甚至可以在那里设置真正的HTTP头(例如在使用HttpServletResponse.setHeader(String name, String value)的Servlet中)

答案 1 :(得分:1)

我会说你做不到。 但是,您可以通过在链接上添加参数(例如应用程序的URL)来使用技巧来始终刷新应用程序。更改的参数被视为尚未获取的页面

所以尝试类似的东西:

<script type="text/javascript">
document.write("<"+"script src='client/client.nocache.js?today=" + getTime() + "'><"+"/script>");
</script>