Java-апплеты против кнопки «Назад» - PullRequest
0 голосов
/ 21 декабря 2009

Я заметил, что если вы играете песню с http://listen.grooveshark.com/ и нажимаете кнопку «назад», Flash достаточно умен, чтобы продолжать проигрывать музыку, перемещаясь «назад» внутри приложения Flash.

Можно ли реализовать подобные вещи с помощью Java-апплетов, или же апплеты всегда отключаются, когда вы уходите со страницы (даже если получающаяся страница содержит тот же апплет)?

Ответы [ 2 ]

3 голосов
/ 21 декабря 2009

Похоже, что grooveshark не работает с фрагментом URL. Они сохраняют результаты поиска после # фрагмента фрагмента в URL, например, выполнить поиск ween, и вы получите этот URL

http://listen.grooveshark.com/#/search/songs/?query=ween

Затем выполните поиск, и URL-адрес изменится на

.
http://listen.grooveshark.com/#/search/songs/?query=bungle

Если вы нажмете кнопку «Назад» в своем браузере, URL изменится на предыдущий «ween», но браузер останется на той же странице, потому что все перед идентификатором фрагмента одинаково. Есть некоторый javascript, который обнаруживает измененный фрагмент и соответственно обновляет интерфейс.

Возможно, вы могли бы сделать что-то подобное с апплетом, но, кажется, лучше подходит для javascript. Хорошая новость заключается в том, что ваш апплет будет кэшироваться браузером, поэтому, если вы перейдете на другую страницу, загрузка апплета произойдет быстро.

2 голосов
/ 21 декабря 2009

http://java.sun.com/docs/books/tutorial/deployment/applet/lifeCycle.html

Когда пользователь покидает страницу, для Например, чтобы перейти на другую страницу, браузер останавливается и уничтожает апплет. Состояние апплета не сохранились. Когда пользователь возвращается к страница, браузер инициализирует и запускает новый экземпляр апплета.

Тем не менее, вы могли бы сохранить состояние на сервере, когда апплет остановлен, и затем восстановить состояние с сервера при его повторном запуске. Если вы создадите подписанный апплет, он сможет сохранить состояние локально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...