【问题标题】:keep ajax content after press back button按后退按钮后保留ajax内容
【发布时间】:2020-07-04 07:12:24
【问题描述】:

我有一个无限滚动分页的产品页面。更多的产品加载了 Ajax。

像这样:域/书籍。

当用户点击产品时,它会转到产品页面:domain/books/the_selected_book.html

单击浏览器后退按钮时,加载域/书籍,但不加载 Ajax 内容。

我想要完成的是,当在新页面上按下后退按钮时,前一页完全按照用户离开它的方式加载,并且在相同的位置。 就像 YouTube 一样。

我在网上搜索过,但没有找到合适的选择。
最好的解决方案是什么?

【问题讨论】:

  • @Azametzin 您的场景需要更清晰的解释。我建议设置一个使用模拟数据来展示你想要什么的 stackblitz。

标签: javascript html ajax caching back


【解决方案1】:
window.onbeforeunload = function(){
created_session = window.pageYOffset;
};

并在加载 ajax 内容后在产品页面中添加此 javascript 代码。还要保留一个变量来计算从数据库加载的产品数量。例如添加 5 次新产品(例如每个 12 次)。您应该将其保留在会话中并将它们乘以 5*12 = 60。您可以通过其限制属性从数据库中加载产品。

 if (isset? created session)
  window.scrollBy(0, created_session for pageYOffSet);

【讨论】:

    猜你喜欢
    • 2010-09-19
    • 2015-10-13
    • 2013-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-03
    • 1970-01-01
    相关资源
    最近更新 更多