Ответ 1
Добавьте это в свой тег Applet: <param name="cache_option" value="no">
Говоря об тегах Applet, они устарели уже много лет; вместо этого используйте object
tag.
Мы с моим другом разрабатываем небольшую игру, и мы хотим поделиться этапами разработки с нашими друзьями. Поэтому я сделал эту маленькую страницу 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>
Добавьте это в свой тег Applet: <param name="cache_option" value="no">
Говоря об тегах Applet, они устарели уже много лет; вместо этого используйте object
tag.
Кэширование апплетов Java может происходить на двух уровнях: в браузере и в плагине Java. Ваша проблема связана с плагином. Я просто нашел это:
http://java.sun.com/products/plugin/1.3/docs/appletcaching.html
Один подход, который используют некоторые люди, - это управление версиями ресурсов, то есть генерация нового имени файла апплета для каждой версии (лучше, если вы упакуете апплет в файл jar и переименуете банку для каждой новой версии, например titlescreen-1.2.23.jar), Если у вас есть достойный инструмент сборки (ant, maven), который может автоматизировать это переименование для вас, как на уровне JAR, так и на уровне тегов, тем лучше.
Эти теги будут делать чудеса, чтобы предотвратить кэширование страницы. Однако апплет является отдельным.:)
Вам нужно настроить сервер для отправки этих заголовков с самим файлом класса (если возможно, исследовать .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>
Edit: Кроме того, у R. Bemrose есть хорошая идея. Попробуйте добавить это в тег апплета:
<param name="cache_option" value="no">
Если это окажется решением, обязательно примите его ответ:)