我是一个新手,在我的第一个网站上工作。我计划通过ajax加载每个页面,以便让音乐播放器在后台持续运行,但我希望后退按钮功能,所以我正在研究如何做到这一点。
我发现的大多数与ajax和pjax相关的教程都已经有5-6年的历史了;我只是想知道pjax和rack-pjax rails gem是否仍然适用,谢谢
发布于 2017-05-05 05:52:44
你不需要pjax
来做这件事,因为turbolinks
已经能够做到这一点。
Turbolinks
允许您将某些元素标记为永久元素。永久元素在页面加载中保持不变,因此对这些元素所做的任何更改都不需要在导航后重新应用。
<div id="music-player" data-turbolinks-permanent>...</div>
https://github.com/turbolinks/turbolinks#persisting-elements-across-page-loads
更新:
向其中添加data-turbolinks-permanent
属性的元素必须具有唯一的ID,否则它将无法工作。
通过给元素一个HTMLid
并用data-turbolinks-permanent
注释它们来指定永久元素。
<!-- SEQUENCER MODAL BODY -->
<div class="modal-body" id="music_player_modal" data-turbolinks-permanent>
<div class="container-fluid">
<div class="row">
<div class="col-md-12 nav-index" id="sequencerIndex">
<div id="jp_container_1">
<div class="jp-playlist">
<ul>
<li></li> <!-- Empty <li> so your HTML conforms with the W3C spec -->
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
在每次呈现之前,Turbolinks通过id
匹配所有永久元素,并将它们从原始页面传输到新页面,保留它们的数据和事件侦听器。
https://stackoverflow.com/questions/43791624
复制相似问题