0

我需要将不同的帖子数据存储到浏览器中的每个选项卡。如果我打开同一页面的新实例,则数据不会在两者之间共享。

我的问题

我正在构建一个 CMS 来控制我的网站内容。但我会打开同一页面的一些实例(许多选项卡)。所以我有一个搜索表单来查找我在我的 CMS 上创建的新闻。如果我打开一个新闻项目,我有一个取消按钮,可以返回上一页(新闻列表)。

问题是新闻列表有分页和过滤形式。因此,例如,我可以通过“ john doe ”之类的术语进行搜索,然后前进到第 5 页,然后打开一个新闻项目。如果我取消,目前我会返回没有过滤器和第一页的新闻列表。

我的解决方案

好吧,我不想使用,history.back()因为我可以提交新闻表单并单击返回/取消按钮。所以,我会回到当前的形式,有什么问题。

我的第二个想法是将 a$_SESSION$_POST发送到新闻列表和后退按钮发送到 一起存储,这将从会话/news/list/recovery-session中恢复数据。$_POST但它有一个问题:如果我打开两个选项卡并进行两次搜索,我只会保存最后一个会话。

您的解决方案

好吧,我可以使用 PHP 和 JS 来使它工作。你可以建议我能做什么。我考虑与 COOKIES 合作,但我相信它是由域共享的,而不是由选项卡共享的,这是一个问题。

有人吗?

4

2 回答 2

1

生成一个唯一的 id 并将其附加到表单或将要提交的某些隐藏元素上。将该唯一 ID 保存在 cookie 或会话变量中。在提交时比较两者。

如果第二个选项卡生成了新的 id,则第一个选项卡不会评估为真。

于 2012-04-21T02:15:17.557 回答
0

主要问题是在返回新闻列表页面时需要保留返回哪个页面的状态以及搜索词。有很多方法可以做到这一点,但一种简单的方法是将这些数据编码到您的查询字符串中。

例如,假设您的搜索词是“john doe”并且您在第 5 页,将这些数据传递到您的新闻页面。

 news.php?returnSearchTerm=john+doe&returnPage=5& ....

创建新闻页面后,您可以设置取消链接的格式,以将您发送回具有正确参数的列表页面。

 news_list.php?search=john+doe&page=5
于 2012-04-21T02:25:32.817 回答