【发布时间】:2009-12-21 03:44:54
【问题描述】:
我注意到,如果您在http://listen.grooveshark.com/ 上播放歌曲并按下返回按钮,Flash 足够聪明,可以在 Flash 应用程序中“返回”导航时继续播放音乐。
是否可以使用 Java 小程序来实现这种事情,或者当您离开页面时,小程序是否总是关闭(即使结果页面包含相同的小程序)?
【问题讨论】:
标签: java flash applet back-button
我注意到,如果您在http://listen.grooveshark.com/ 上播放歌曲并按下返回按钮,Flash 足够聪明,可以在 Flash 应用程序中“返回”导航时继续播放音乐。
是否可以使用 Java 小程序来实现这种事情,或者当您离开页面时,小程序是否总是关闭(即使结果页面包含相同的小程序)?
【问题讨论】:
标签: java flash applet back-button
看起来grooveshark 对URL 片段很棘手。他们将搜索存储在 URL 中的 # 片段分隔符之后,例如搜索 ween,你会得到这个 URL
http://listen.grooveshark.com/#/search/songs/?query=ween
然后搜索 bungle 并且 URL 更改为
http://listen.grooveshark.com/#/search/songs/?query=bungle
如果您在浏览器中单击后退按钮,则 URL 将更改为之前的“ween”,但浏览器仍停留在同一页面上,因为片段标识符之前的所有内容都是相同的。有一些 javascript 会检测更改的片段并相应地更新 UI。
您可能可以使用小程序执行类似的操作,但它似乎更适合 javascript。好消息是,您的小程序将被浏览器缓存,因此如果您切换到不同的页面,小程序加载将很快发生。
【讨论】:
http://java.sun.com/docs/books/tutorial/deployment/applet/lifeCycle.html
当用户离开页面时,对于 例如,要转到另一个页面, 浏览器停止并销毁小程序。 小程序的状态不是 保存。当用户返回 页面,浏览器初始化和 启动一个新的小程序实例。
话虽如此,您可以做的是在小程序停止时将状态保存到服务器,然后在再次启动时从服务器恢复状态。如果你让它成为一个签名的小程序,它应该能够在本地保存状态。
【讨论】: