Botão Java Applets vs Back
-
20-09-2019 - |
Pergunta
Eu notei que se você está tocando uma música em http://listen.grooveshark.com/ E você pressiona o botão traseiro Flash é inteligente o suficiente para continuar tocando a música enquanto navega "de volta" dentro do aplicativo Flash.
É possível implementar esse tipo de coisa usando applets java ou applets sempre desligado quando você navega para longe da página (mesmo que a página resultante contenha o mesmo applet)?
Solução
Parece que o GrooveShark está sendo complicado com o fragmento de URL. Eles armazenam a pesquisa após o delimitador # fragmento no URL, por exemplo, pesquise por Ween e você obtém este URL
http://listen.grooveshark.com/#/search/songs/?query=ween
Em seguida, faça uma busca por Bungle e o URL muda para
http://listen.grooveshark.com/#/search/songs/?query=bungle
Se você clicar no botão Voltar no seu navegador, o URL muda para o "Ween" anterior, mas o navegador permanecerá na mesma página, porque tudo antes do identificador do fragmento é o mesmo. Há algum JavaScript que está detectando o fragmento alterado e atualizando a interface do usuário de acordo.
Você provavelmente poderia fazer algo assim com um applet, mas parece mais adequado ao JavaScript. A boa notícia é que seu applet será armazenado em cache pelo navegador; portanto, se você mudar para uma página diferente, o carregamento do applet acontecerá rapidamente.
Outras dicas
http://java.sun.com/docs/books/tutorial/deployment/applet/lifecycle.html
Quando o usuário sai da página, por exemplo, para ir a outra página, o navegador para e destrói o applet. O estado do applet não é preservado. Quando o usuário retorna à página, o navegador intializa e inicia uma nova instância do applet.
Dito isto, o que você poderia fazer é salvar o estado no servidor quando o applet é interrompido e depois restaurar o estado do servidor quando ele iniciar novamente. Se você fizer um applet assinado, ele poderá salvar o estado localmente.