我们有一个案例,客户似乎永远缓存applet的版本.我们正在<param name="cache_version">标记中正确使用<object>标记,或者我们认为.我们从一个版本字符串7.1.0.40转到了7.1.0.42,这只触发了大约一半客户的下载.
客户端运行的JRE版本似乎并不重要.我们已经看到人们在1.4,1.5和1.6上遇到这个问题.
有没有人有显式缓存版本的经验?它是否更可靠地工作(忽略速度)而不是依赖于cache_archive"最后修改"和/或"内容长度"值(根据Sun的网站)?
仅供参考,对象块如下所示:
<object>
<param name="ARCHIVE" value="foo.jar">
<param name="CODE" value="com.foo.class">
<param name="CODEBASE" value=".">
<param name="cache_archive" value="foo.jar">
<param name="cache_version" value="7.1.0.40">
<param name="NAME" value="FooApplet">
<param name="type" value="application/x-java-applet;jpi-version=1.4.2_13">
<param name="scriptable" value="true">
<param name="progressbar" value="true"/>
<param name="boxmessage" value="Loading Web Worksheet Applet..."/>
</object>
Run Code Online (Sandbox Code Playgroud) 我使用deployJava.js解析了我的applet 而没有使用或标记.所以,首先,你可能认为这些问题重复的所有问题都不完全重复.
目前,当我刷新我的页面(包含applet)时,浏览器会尝试重新加载旧的applet,这会导致非响应式applet等复杂问题.我想强制重新加载小程序,从服务器而不是从浏览器缓存,每次刷新页面时也没有任何手动工作(如关闭/重新打开浏览器或手动浏览器缓存删除).有没有办法实现它,使用javascript或HTML 传递runApplet(...)(deployJava.js中的函数)的任何属性或参数?