Pergunta

Meu amigo e eu estamos desenvolvendo um pequeno jogo e queremos compartilhar os estágios de desenvolvimento com nossos amigos. Então eu fiz esta pequena página http://people.scs.carleton.ca/~manders8/game.html

No momento, é um arquivo .class que estamos atualizando. Mas, por algum motivo, sempre carrega a versão antiga. Eu sei que há uma maneira de desligar o cache do Java, mas meus amigos não são tão competentes. Além disso, para fazer com que as pessoas joguem seu jogo, isso deve super fácil e não exigir 5 etapas com fotos de telas apenas para experimentá -lo.

Eu tenho essa é a tag:

<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">

Porque eu pensei que poderia estar relacionado ao navegador, mas isso não ajuda.

Este é o meu código

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

Mudou de applet para:

<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>
Foi útil?

Solução

Adicione isso dentro da sua tag de applet: <param name="cache_option" value="no">

Falando em tags de applet, elas ficam obsoletas há anos; Considere usar o object marcação em vez de.

Outras dicas

O cache de applets java pode acontecer em dois níveis: o navegador e o plug -in Java. Seu problema parece estar com o plug -in. Acabei de encontrar o seguinte:

http://java.sun.com/products/plugin/1.3/docs/appletcaching.html

Uma abordagem que algumas pessoas usam é a versão de recursos, ou seja, gerar um novo nome de arquivo de applet para cada versão (melhor se você empacotar o applet em um arquivo jar e renomear o jar para cada nova versão, por exemplo, titlescreen-1.2.23.jar). Se você possui uma ferramenta de construção decente (formiga, Maven), que pode automatizar essa renomeação para você, tanto no JAR quanto no nível de tag, melhor.

Essas tags farão maravilhas para impedir o página de ser armazenado em cache. No entanto, o applet é separado. :)

Você precisa configurar o servidor para enviar esses cabeçalhos com o próprio arquivo de classe (se possível, investigue .htaccess Apoio, suporte).

Se isso não for possível, mas você tem acesso ao PHP ou a algum idioma de script do lado do servidor, você pode usar algo assim:

<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: Além disso, R. Bemrose tem uma boa ideia. Tente adicionar isso à tag Applet:

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

Se isso acaba sendo a solução, não deixe de aceitar sua resposta :)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top