我正在做一个像音乐商店这样的项目,我需要像在ReverbNation中那样实现持久的音乐播放器。我检查了 ReverbNation 并发现它们ajax
用于加载中心内容,以便播放器始终完好无损。我的项目已经opencart
完成,几乎完成了。所以我不想改变很多东西,只为播放器从 ajax 加载所有内容。我尝试了 iframe,它可以工作,但问题是地址栏中的 url 始终保持不变。是否可以为 iframe 中加载的内容更改地址栏中的 url?或者有什么好方法来实现持久音乐播放器?请建议。
2 回答
我使用 Jplayer ( http://ewlsol.com/now/ )在 opencart 中做了类似类型的项目
您可以使用 iframe 覆盖 url
<a href="page" target="_top">Replace parent url!</a>
但这不是正确的解决方案,如果您使用 Iframe,则浏览器中没有可用的源代码,因此搜索引擎将无法抓取您的网站,因此使用 Iframe 将是一个坏主意。
您需要使用 jquery 加载功能通过 AJAX 加载内容部分,并将播放器放在页眉或页脚中,这样页眉和页脚部分就不会被刷新,并且您的播放器会连续播放您的音乐。
希望这可以帮助
您不能只是在现有网站上硬塞一个持久的玩家。具有持久音乐播放功能的网站需要三件事:
- 客户端 JS 路由器
- 一种通过 AJAX 获取新内容的方法
- 管理状态(当前曲目、播放列表、播放列表索引)的持久音乐播放器脚本
JS 框架经常被使用,因为它具有许多开箱即用的功能。然而,仅仅为了持久的音乐播放而包含一个完整的 JS 框架(例如 Angular 或 Ember)对于许多网站来说是多余的。
无论您是构建静态站点还是动态站点,一个轻量级的音乐前端框架(例如Pushtape Cassette )都可以解决您的问题。
如果您正在构建一个静态站点,您需要做的就是配置一个带有指向音乐文件和元数据的链接的盒式磁带.json 文件,并相应地设置样式。
如果您正在构建更动态的应用程序,则可以使用解耦架构。构建一个单独的后端站点,该站点使用数据库管理内容,然后让该站点生成一个cassette.json 并使用 Pushtape Cassette 进行渲染。