1
ccbikai 2013-12-07 23:33:17 +08:00
|
2
sodatea 2013-12-08 02:14:32 +08:00
一般而言用 pjax (history.pushState + ajax load, GitHub 就用了这个技术) 可以做到这样的效果. jQuery 有个 pjax 插件(https://github.com/defunkt/jquery-pjax)可以用.
但是至于网易云音乐……你看一下他的源代码就知道了, 除了播放器都是放在 iframe 里的, 地址部分是通过改变 fragment identifier (# 后的一串字符) 实现的,看了一下代码, http://s3.music.126.net/s/2/pt_index.js 这里也有用到 history.pushState 来保证历史记录能正常使用 |
4
Air_Mu 2013-12-08 02:31:37 +08:00
抄袭Soundcloud的。
|
6
kongruxi 2013-12-08 10:19:44 +08:00
如果一开始用像 Angular 或者 Ember 这些 Single Page Application 的框架,就不必用 iframe 这么奇怪的东西,更不用像虾米那样要在新窗口打开,看看这里 https://hepaimusic.com
|