我正在为我的 Web 应用程序(仅限 HTML、JS 和 CSS)开发搜索功能。我正在使用 jQuery 的 .getjson() 方法从提要中检索数据并将这些结果显示在页面上。在 .each() 语句中,我将 HTML 标记添加到结果中,使一些元素链接到外部源。
问题是当访问者在我的 Web 应用程序上启动搜索并单击从结果到外部页面的链接,然后使用浏览器上的后退按钮返回结果页面时,所有搜索结果都被清除并需要启动另一个搜索。
我想暂时保存搜索结果,因此如果用户单击结果中的链接,然后按“返回”按钮返回应用程序,则所有结果都将可用,而无需新的搜索。
更进一步,如果过去搜索的结果仍然存在,那么如果访问者继续按“后退”按钮,他们可以看到所有以前的搜索(当然有给定的限制),这也很酷。
HTML5 sessionStorage 似乎很适合这个,但我发现的信息指向一个乏味的编码解决方案。我不能将所有 json 结果保存为 JS 对象,并在访问者按下后退按钮时由我的每个语句重新呈现它们吗?我绝对愿意使用代码库或插件来解决这个问题。