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



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

当你点击一首歌时,播放器会开始播放这首歌,但当你试图导航到网站,比如点击专辑时,你会自然而然地被重定向到www.mysite.com/?album=test,因此,这首歌将停止播放。

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

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

我认为SoundCloud的工作方式是使用AJAX(是的,您可以使用jQuery)。所以从技术上讲,你仍然站在同一页上。对于"相同的URL",您可以使用history API实际操作浏览器的历史记录和URL。

因此,每次导航时,JS都应该通过操纵历史来模拟离开到另一个页面,让浏览器认为它离开了页面。JS的另一个部分跟踪url,称为路由器,以知道当观察到某个url模式时该怎么办。例如,如果我在路由/artists/foo中,那么页面应该在艺术家"foo"的数据中使用AJAX。

最新更新