如何强制加载Java Applet以避免缓存

9

我和我的朋友正在开发一个小游戏,我们想与朋友分享开发阶段。因此,我制作了这个小页面:http://people.scs.carleton.ca/~manders8/game.html

现在只有一个 .class 文件需要更新,但是由于某种原因它总是加载旧版本。我知道有一种方法可以关闭 Java 缓存,但我的朋友们不是那么熟练。并且,为了让人们玩你的游戏,它应该非常简单,并且不需要像屏幕截图一样的 5 步骤来试玩。

这是我在标签中使用的代码:

<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="no-cache">
<meta http-equiv="Expires" content="-1">
<meta http-equiv="Cache-Control" content="no-cache">

因为我以为这可能与浏览器有关,但这没有帮助。

这是我的代码

<applet code="com.murderbody.prototype.TitleScreen.class" codebase="http://people.scs.carleton.ca/~manders8/content/" width=640 height=380></applet>

从小程序更改为:

<object type="application/x-java-applet;version=1.5" width="640" height="380">
     <param name="codebase" value="http://people.scs.carleton.ca/~manders8/content/">
     <param name="code" value="com.murderbody.prototype.TitleScreen.class">
     <param name="cache_option" value="no">
</object>
3个回答

12
将以下内容添加到您的Applet标签中:<param name="cache_option" value="no"> 说起Applet标签,它们已经过时多年了;考虑使用object标签代替。

3
Java小程序的缓存可以在两个级别上进行:浏览器和Java插件。你遇到的问题似乎是插件方面的。我找到了这个链接:http://java.sun.com/products/plugin/1.3/docs/appletcaching.html。有些人使用的一种方法是资源版本控制,即为每个版本生成一个新的小程序文件名(最好将小程序打包成一个jar文件并为每个新版本重命名该jar文件,例如titlescreen-1.2.23.jar)。如果你有一个不错的构建工具(ant,maven)可以自动化地为你完成此重命名操作,无论是在JAR还是标记级别上,都更好。

1

这些标签可以奇迹般地防止页面被缓存。然而,小程序是独立的。 :)

您需要配置服务器以发送这些头文件与类文件本身一起(如果可能,请调查.htaccess支持)。

如果不可能,但您可以访问PHP或某些服务器端脚本语言,则可以使用类似以下内容的东西:

<applet code="com.murderbody.prototype.TitleScreen.class?<?php echo rand(1, 10000);?>" codebase="http://people.scs.carleton.ca/~manders8/content/" width=640 height=380></applet>

编辑:此外,R. Bemrose提出了一个好主意。尝试将此添加到applet标签中:

<param name="cache_option" value="no">

如果那最终成为解决方案,请务必接受他的答案 :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接