0

这是一个相当广泛的问题,而不是特定于代码的。我正在寻找知道如何实施此要求的人的意见

我正在构建一个音乐应用程序,人们可以在其中排队音乐对象。一个音乐对象看起来像

url:
name:
views:

用户可以通过单击列表来排队播放这首歌。此时我想建立一个音乐对象队列,然后开始播放。一个非常相似的例子是grooveshark所做的: 在此处输入图像描述

我非常想实现具有以下功能的相同功能

  • 即使浏览器关闭也能保持队列
  • 能够检索任何队列(如果存在)
  • 能够随机播放,强制队列中的对象按顺序播放

我对此很陌生,所以不知道在哪里存储这些数据。请帮助我了解我需要学习什么来实现它。

4

6 回答 6

3

这是一个相当广泛的问题!如果您正在开发 HTML5 应用程序,您可能希望研究 DOM 存储设施,例如localStoragesessionStorage(主要关注localStorage您的需求/系统要求):https ://developer.mozilla.org/en-US/docs/DOM/Storage

以下是一些有用的资源/信息:

http://ejohn.org/blog/dom-storage/

http://viralpatel.net/blogs/introduction-html5-domstorage-api-example/

http://msdn.microsoft.com/en-us/library/cc197062(v=vs.85).aspx

如果您不希望查看 cookie:https ://developer.mozilla.org/en-US/docs/DOM/document.cookie但是,由于数量的限制,我怀疑cookies会为您提供您需要/想要的东西可以存储/保存

于 2012-08-14T21:04:54.637 回答
2

localstorage 是你最好的选择

http://www.w3schools.com/html5/html5_webstorage.asp

但是您可以使用以下方法进行 polyfill 并使其与非 html5 浏览器一起使用:

https://gist.github.com/350433

于 2012-08-14T21:04:56.713 回答
1

如果您可以仅针对 HTML5 浏览器,您可能需要查看以下内容:https ://developers.google.com/web-toolkit/doc/latest/DevGuideHtml5Storage

于 2012-08-14T21:05:39.637 回答
0

正如其他人所回答的那样,localStorage可能是您最好的选择..但是,如果您不想这样做,则不必直接使用它。查看 AmplifyJS' amplify.store,这是一个很好的包装器localStoragesessionStorage易于使用,并使用功能检测在不支持 localStorage 的浏览器上优雅地降级(我忘记了它使用的是什么,但它会存储您的数据。也许是 cookie? )

总之,值得研究。 http://amplifyjs.com/api/store/

于 2012-08-14T22:39:00.903 回答
0

我过去曾为此使用过jStorage 。它是一个不错的插件,它提供了一个围绕可用的本地存储和 Internet Explorer 旧版本中的 userData 行为的包装器。

于 2012-08-15T10:28:43.020 回答
0

由于我看不到对旧版浏览器支持的要求,我建议远离 localStorage,因为它有一些问题,比如它正在执行文件 IO 并且它是同步的。

相反,您可以查看 indexedDB,它有点难使用,但据我所知,在各个方面都更好。

https://developer.mozilla.org/en-US/docs/IndexedDB

于 2012-08-14T21:28:21.733 回答