アプレットのキャッシュを更新しようとしています。アプレットは適切にキャッシュされますが、その後、キャッシュがどれほど古くなっても、更新されません。キャッシュを手動で削除すると、次のページの読み込み時に新しいキャッシュが作成され、キャッシュしようとしている.jarファイルへのすべての変更が有効になります。ただし、これを行う必要があることは受け入れられません。
次のように、インデックスファイルでcache_archiveをcache_versionと組み合わせて使用してみました。
if (navigator.appVersion.indexOf("Win")!=-1){
var attributes = { id:'manager', code:'HardwareManagerApplet_FileWriter', width:1, height:1} ;
var parameters = {jnlp_href: '/java/HardwareManagerApplet.jnlp', codebase: '/java/hardwaremanager.jar', cache_archive:'hardwaremanager.jar', cache_version:'0.0.0.7'};
check = deployJava.runApplet(attributes, parameters, '1.6');
hardware_enabled = true
console.log("Applet started")
}
これは効果がありません。cache_archiveとcache_versionを属性に移動し、さまざまな順列として使用しようとしました。cache_optionを最初のブラウザに設定してから、プラグインに設定してみました。サイコロはありません。私はETagを調べましたが、それが最善の解決策になるとは確信していません。last-Modifiedも調べましたが、A)キャッシュが更新されるようにhttpに実装する方法がわかりません。また、B)そのルートに移動する必要がある場合は、まったく新しい缶が開きます。
他に合理的な代替手段はありますか?さらに良いことに、私は単にcache_archive et alを誤って実装していますか?
実際、ページが読み込まれるたびにキャッシュすることができたとしても、満足するでしょう。
助けてくれてありがとう!
編集:についてのコードのブロックは、私がcache_archiveなどで作成した唯一の実装です。他の場所に数行入れる必要がありますか?Oracleのドキュメントに関する限り、それがあまり明確であるとは思いませんでした。