如何使用 jQuery Mobile 防止链接添加到历史堆栈

2023-12-27

使用 jQuery mobile,我使用带有上一个和下一个链接的列表视图进行分页。一切正常,但我不希望将上一页和下一页添加到历史堆栈中。这个想法是,回击只会转到实际的上一页。

我发现执行此操作的唯一方法是将 data-rel="dialog" 添加到 a 标记,但我不希望它成为弹出对话框。

否则我尝试添加

$.mobile.nonHistorySelectors="dialog,pagination"

到 mobileinit 事件,并将属性 data-rel="pagination" 添加到 a 标记。但这只会在单击链接时引发错误(即使没有将 nonHistorySelectors 添加到 mobileinit 事件,也会发生错误)。

EDIT:

我发现的最接近的是这个JS

<script type="text/javascript">
    $(".page-prev").click(function(e) {
        e.stopPropagation();
        e.preventDefault();

        $.mobile.changePage(this.href, {changeHash:false, reverse:true});
    });

    $(".page-next").click(function(e) {
        e.stopPropagation();
        e.preventDefault();

        $.mobile.changePage(this.href, {changeHash:false});
    });
</script>

和这个 HTML

<a href="/blog?page=1" class="page-prev" data-role="button" data-icon="arrow-l">Prev</a>
<a href="/blog?page=3" class="page-next" data-role="button" data-icon="arrow-r">Next</a>

这似乎可以很好地防止浏览器历史记录被更新,但有时当单击“下一步”时,滑动的页面会做一些奇怪的事情,例如加载/滑动两次。另外,它无法做到的一件事是,如果我从这里导航到某个页面并返回,它将返回到第 1 页。


没有任何机制可以默默地从浏览历史记录中删除任何内容。

您应该使用 AJAX 来填充您的列表。 所以你的链接看起来像<a href="javascript:renderNextPage()">

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 jQuery Mobile 防止链接添加到历史堆栈 的相关文章

随机推荐