首页 > 解决方案 > 如何返回存储在 cookie 中的 URL

问题描述

我在我们的类别页面上设置了无限滚动。当用户单击加载更多时,当前页面 URL 将存储为 cookie。

当用户然后单击产品并单击后退按钮时,我希望他们返回同一点。

如何设置后退按钮以返回存储在 cookie 中的 URL?

当前的JS:

$(document).on('click', '.page-next a', function (e) {
    e.preventDefault();

    var self = $(this),
        loadparent = self.parents('.ajax-load');

    setTimeout(function () { $(loadparent).fadeOut(); }, 700);

    $('.ajaxLoaderOverlay').addClass('show');

    $.ajax({
        url: $(this).data('url'),
        method: 'POST',
        dataType: 'html',
        success: function (data) {
            $('.mid-content').append(data);
            $('.ajaxLoaderOverlay').removeClass('show');
        }
    });

    var thisCookie = $(this).parent().data('href');
    setCookie('listingPerRow', thisCookie, '30');
});

提前谢谢了

标签: javascript

解决方案


一个简单的解决方案是让“加载更多”按钮将 url 更改为指向某个元素 ( www.example.com/#id) 的链接。然后,后退按钮将滚动到页面的该部分,而无需额外的 JavaScript:

var place = 0;
...
location.href = location.href.slice("#")[0] + "#load-" + place++;

推荐阅读