当在PHP/JavaScript中的Referrer不起作用时,如何处理导航中的倒退?

时间:2018-02-02 作者:davemackey

所讨论的网站是:

https://liquidchurch.com/messages/messages-app-view/

单击此页面上的任何系列图像,您将进入该系列的页面:

https://liquidchurch.com/messages/christmas-eve-series/messages-app-view/

如果单击“返回”,很好,我们将返回到第一个链接。相反,我们将通过单击其中一个消息图像/链接进入单个消息,并在以下位置结束:

https://liquidchurch.com/messages/christmas-eve-series/touched-by-an-angel/messages-app-view/

单击返回,我们将返回到序列视图页面。现在,单击“序列视图”页面上的“返回”,我们将进入“单个消息”页面。

从技术上讲,一切正常。在我返回到系列页面之前,我所处的页面是个人消息页面,这就是我要做的。。。但从功能上来说,这不是我所需要的。相反,当一个人进入一条个人消息,然后返回到我需要的序列,以便在序列页面上返回到:

https://liquidchurch.com/messages/messages-app-view/

简单的回答是简单地告诉它返回到哪个页面,例如,我可以将序列页面返回链接编码为始终转到:

https://liquidchurch.com/messages/messages-app-view/

但这会引发另一个问题。/messages/page已分页,我不希望个人出现在结果的第四页(/messages/message-app-view/page/4/),当他们从序列页单击“返回”时,会发现自己返回到结果的第一页(/messages/messages-app-view/)

我想我可以将page变量传递给series页面,但是如果个人随后进入一条消息呢?我是否传递page变量?

欢迎提出解决此问题的好方法。:)

1 个回复
SO网友:janh

你可以用饼干。使用用户上次访问过的URL(包括分页),为每个“级别”(消息、系列、消息)设置一个cookie。如果没有为消息设置任何值,例如,由于用户直接跳转到序列中,则转到默认消息URL而不分页-如果设置了值,则转到默认消息URL。

如果有人使用多个标签(如果你的应用程序允许的话),这永远都不会是完美的,他们可能会在一个标签的消息第4页上,而在下一个标签的消息第5页上。由于Cookie不是基于选项卡的,因此单击“返回”按钮无法知道它们位于哪个选项卡。但我认为这已经足够近了。

结束