我的网站包含歌曲,底部还有.mp3播放器。
当您点击一首歌时,播放器开始播放该歌曲,但是当您尝试导航到该网站并让我们说单击一个专辑时,您自然会被重定向到www.mysite.com/?album=test
,因此,该歌曲将会停止播放。
每次点击<div>
或<a href>
时,我都会尝试让玩家(基本上是玩家所在的button
)没有重新加载。为清楚起见,您可以看到例如https://soundcloud.com/。这就是我希望我的网站表现得像。
现在,如果我在每个<a href>
上使用jQueries,页面的URL将保持不变。我不想发生这种事。我也听说过iframe,这是一个糟糕的解决方案。那么,https://soundcloud.com/和类似网站如何实现我想做的事情呢?有人知道怎么做吗?
答案 0 :(得分:1)
我看到SoundCloud工作的方式是使用AJAX(是的,你可以使用jQuery来做到这一点)。所以你在技术上保持在同一页面上。关于&#34;相同的网址&#34;,您实际上可以使用History API操纵浏览器的历史记录和网址。
所以每次导航时,你的JS应该通过操纵历史来模拟离开到另一个页面,使浏览器认为它离开了页面。 JS的另一部分跟踪网址,称为路由器,以便在观察到某个网址模式时知道该怎么做。例如,如果我在路线/artists/foo
中,则该页面应为艺术家和#34; foo&#34;的数据中的AJAX。