我注意到如果你正在http://listen.grooveshark.com/播放一首歌并且你点击后退按钮Flash足够智能,可以在Flash应用程序内“返回”时继续播放音乐。
是否可以使用Java Applet实现此类操作,或者在离开页面时始终关闭Applet(即使生成的页面包含相同的applet)?
答案 0 :(得分:3)
看起来groovehark对URL片段很棘手。它们将搜索存储在URL中的#fragment定界符之后,例如搜索ween,你会得到这个URL
http://listen.grooveshark.com/#/search/songs/?query=ween
然后搜索bungle并将URL更改为
http://listen.grooveshark.com/#/search/songs/?query=bungle
如果单击浏览器中的后退按钮,URL将更改为之前的“ween”,但浏览器仍保留在同一页面上,因为片段标识符之前的所有内容都相同。有一些javascript正在检测更改的片段并相应地更新UI。
你可以用applet做这样的事情,但它似乎更适合javascript。好消息是,您的applet将由浏览器缓存,因此如果您切换到其他页面,applet加载将很快发生。
答案 1 :(得分:2)
http://java.sun.com/docs/books/tutorial/deployment/applet/lifeCycle.html
当用户离开页面时,为 例如,去另一个页面, 浏览器停止并销毁小程序。 小程序的状态不是 保存。当用户返回时 页面,浏览器初始化和 启动applet的新实例。
话虽这么说,你可以做的是在applet停止时将状态保存到服务器,然后在再次启动时从服务器恢复状态。如果你使它成为签名的applet,它应该能够在本地保存状态。