1

这是代码:

<applet code="ATest.class" archive="ATest.class?v=200406181300">
</applet>

我想清除现有缓存并在第一次加载时加载新缓存。我该如何在 Java 小程序中执行?

我在 Firefox 0.9 中对其进行了测试,它加载并运行了该类。这里的想法是,当您更改类时,您会更改 ARCHIVE 属性中的 [v] 版本。这应该迫使浏览器获取类文件的新副本,因为“存档”现在位于不同的 URI,并且由于“存档”是 .class 文件,它可能会起作用(除非用户代理忽略 ARCHIVE是类,这是完全可能的)

4

2 回答 2

2

I don't think the applet can so this.

But I don't think it needs to either. If the changing the v parameter to a different value isn't sufficient to get the browser to request a new copy of the class, then put it into a JAR file and arrange that the JAR file's name changes each time you want to deploy a fresh version.


I should note that forcing the browser to download a fresh copy of a class if it hasn't changed is a bad idea. It won't achieve anything useful. On the contrary, it will waste server and network resources, and it will make the page load slower.

于 2013-04-15T13:19:55.453 回答
0

首先,阅读您的问题:为什么要更新 Applet,“当它第一次加载时”?如果您的意思是第二次,当插件尝试从自己的缓存中加载它时,不仅仅是使用新的代码库,也许每次访问/或使用一个新的代码库。

于 2013-04-16T08:54:04.893 回答