首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何不在页面导航中重新加载页脚

如何不在页面导航中重新加载页脚
EN

Stack Overflow用户
提问于 2013-11-22 10:51:38
回答 4查看 1K关注 0票数 2

我有音乐应用程序,其中我有简单的播放器在脚。用户可以从主页列表中选择歌曲,并在页脚中播放。现在的要求是,即使用户在应用程序中从主页移动到其他页面(配置文件、书签),页脚播放器也不应该重新加载,并且应该继续播放最初在主页上选择的音频。

我该怎么做?我需要通过ajax加载页面吗?

编辑:我忘了提到开发已经完成了80%,页脚在每个页面上重新加载。如果我现在必须使用Ajax,那么需要多少返工?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-12-14 08:03:52

用PJAX。仅重新加载所需页面的部分:钢轨

它已经与Rails集成了,您在这个块之外放置的所有内容都不会被重新加载:

代码语言:javascript
复制
<div data-pjax-container>
  <!-- PJAX updates will go here -->
</div>
票数 3
EN

Stack Overflow用户

发布于 2013-12-15 23:38:23

下面是另一种类似于PJAX和Turbolinks的解决方案

https://github.com/igor-alexandrov/wiselinks

票数 1
EN

Stack Overflow用户

发布于 2013-12-16 15:43:07

已经有一些很好的答案了,但我只想更好地解释你的问题。

HTTP请求是“无状态的”,这意味着每个请求都是完全独立的,在请求新页面之前,您不可能知道页面是如何的。这使得不可能不对每个请求重新加载页脚,只使用HTTP。

您可以使用cookie在请求之间保存信息,这样您就可以在请求之前停止的地方启动播放机,但它仍然会重新加载(并在短时间内停止)。

您还可以将页面的其余部分放在iframe中,并且只更改iframe的内容。

但是,由于各种原因,这些解决方案不是很好,因此我强烈推荐最后一个也是最好的解决方案: ajax。

最简单的解决方案是帕克斯,如@aledalgrande所建议的(或由@adbeel建议的水晶石 )。这将使您的站点成为一个“单站点应用程序”,您可以使用ajax替换页面的特定部分,而不是整个页面。但是,集成应该相当简单,即使在现有的rails应用程序中也是如此。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20143057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档