我有音乐应用程序,其中我有简单的播放器在脚。用户可以从主页列表中选择歌曲,并在页脚中播放。现在的要求是,即使用户在应用程序中从主页移动到其他页面(配置文件、书签),页脚播放器也不应该重新加载,并且应该继续播放最初在主页上选择的音频。
我该怎么做?我需要通过ajax加载页面吗?
编辑:我忘了提到开发已经完成了80%,页脚在每个页面上重新加载。如果我现在必须使用Ajax,那么需要多少返工?
发布于 2013-12-14 08:03:52
用PJAX。仅重新加载所需页面的部分:钢轨
它已经与Rails集成了,您在这个块之外放置的所有内容都不会被重新加载:
<div data-pjax-container>
<!-- PJAX updates will go here -->
</div>发布于 2013-12-15 23:38:23
下面是另一种类似于PJAX和Turbolinks的解决方案
发布于 2013-12-16 15:43:07
已经有一些很好的答案了,但我只想更好地解释你的问题。
HTTP请求是“无状态的”,这意味着每个请求都是完全独立的,在请求新页面之前,您不可能知道页面是如何的。这使得不可能不对每个请求重新加载页脚,只使用HTTP。
您可以使用cookie在请求之间保存信息,这样您就可以在请求之前停止的地方启动播放机,但它仍然会重新加载(并在短时间内停止)。
您还可以将页面的其余部分放在iframe中,并且只更改iframe的内容。
但是,由于各种原因,这些解决方案不是很好,因此我强烈推荐最后一个也是最好的解决方案: ajax。
最简单的解决方案是帕克斯,如@aledalgrande所建议的(或由@adbeel建议的水晶石 )。这将使您的站点成为一个“单站点应用程序”,您可以使用ajax替换页面的特定部分,而不是整个页面。但是,集成应该相当简单,即使在现有的rails应用程序中也是如此。
https://stackoverflow.com/questions/20143057
复制相似问题