Я пытаюсь обновить кеш для апплета.Апплет правильно кэшируется, но впоследствии, независимо от того, насколько устаревший кеш, он не будет обновляться.Если я вручную удаляю кеш, при следующей загрузке страницы будет создан новый, и все изменения в файле .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 для первого браузера, а затем снова попытался установить его в плагин.Нет кости.Я изучил ETags, и я не уверен, что это будет лучшим решением.Я также изучил последнее изменение, но A) я не уверен, как внедрить его в http, чтобы кэш обновился, и B), который откроет новую банку, если мне придется идти по этому пути.
Есть ли другая разумная альтернатива?А еще лучше, я просто неправильно реализую cache_archive et al.?
И даже если я смогу заставить его кэшироваться каждый раз при загрузке страницы, я буду удовлетворен.
Спасибо за всеи любая помощь!
Редактировать: Блок кода является единственной реализацией, которую я сделал из cache_archive и т. д. Нужно ли поместить пару строк в другом месте?Что касается документации Oracle, я не нашел это очень ясным.