javascript - 单击浏览器后退按钮时如何保持页面状态?

标签 javascript jquery back-button

我有一个带有客户端分页和过滤的页面。该页面列出了大约 200-300 个产品。 该页面包含一些过滤器,例如类别、制造商和重量。 单击任何页码或过滤器,我将使用 Jquery 在客户端操作页面内容。

直到这一步一切都工作正常。现在有一个用例我遇到了问题。

  1. 假设用户访问我们的产品列表页面并点击一些过滤器并获取产品列表。
  2. 现在,他点击了特定产品,这会将他重定向到产品页面以查看该产品的详细信息。
  3. 但是现在,当用户单击后退按钮时,用户将获得初始状态的页面,而没有选择任何过滤器。

用户是否可以通过单击后退按钮获得包含先前选择的过滤器的页面?

最佳答案

您可以使用以下某些方法来跨多个页面存储数据。

  1. 将数据存储在cookies中.
  2. 将数据存储在local storage中.
  3. 将数据存储在session中在服务器上。
  4. 将数据作为网址的一部分(使用 hashquery string 作为过滤器参数)。请注意,更改查询字符串会导致页面重新加载。

如果使用 Cookie、本地存储或哈希,您需要向页面添加 JavaScript 代码,以在页面加载时加载并应用存储的数据。

关于javascript - 单击浏览器后退按钮时如何保持页面状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27105763/

相关文章:

javascript - 用 null 填充缺失值

javascript - 在外部 .js 文件中获取请求属性(作为列表发送)

javascript - jQuery检查ID值是否有数字

ios - swift 3 IOS - 后退按钮问题

javascript - Angular 将 URL 参数发送到 Web 服务

php - AJAX vs PHP 直接转入JS

jquery - Magento 中 Cloud Zoom 的小产品图片?

jquery - 函数 scrollTo(id) 中的 jquery 偏移问题

c# - uwp 标题栏中的后退按钮不可见

android - 如何防止在android fragment 中按下后退按钮时调用onCreateView