jQuery,AJAX:使页面的一部分(<div>)不刷新网站导航</div>

时间:2014-10-05 00:55:45

标签: javascript jquery html ajax

我的网站包含歌曲,底部还有.mp3播放器。

当您点击一首歌时,播放器开始播放该歌曲,但是当您尝试导航到该网站并让我们说单击一个专辑时,您自然会被重定向到www.mysite.com/?album=test,因此,该歌曲将会停止播放。

每次点击<div><a href>时,我都会尝试让玩家(基本上是玩家所在的button)没有重新加载。为清楚起见,您可以看到例如https://soundcloud.com/。这就是我希望我的网站表现得像。

现在,如果我在每个<a href>上使用jQueries,页面的URL将保持不变。我不想发生这种事。我也听说过iframe,这是一个糟糕的解决方案。那么,https://soundcloud.com/和类似网站如何实现我想做的事情呢?有人知道怎么做吗?

1 个答案:

答案 0 :(得分:1)

我看到SoundCloud工作的方式是使用AJAX(是的,你可以使用jQuery来做到这一点)。所以你在技术上保持在同一页面上。关于&#34;相同的网址&#34;,您实际上可以使用History API操纵浏览器的历史记录和网址。

所以每次导航时,你的JS应该通过操纵历史来模拟离开到另一个页面,使浏览器认为它离开了页面。 JS的另一部分跟踪网址,称为路由器,以便在观察到某个网址模式时知道该怎么做。例如,如果我在路线/artists/foo中,则该页面应为艺术家和#34; foo&#34;的数据中的AJAX。