繁体   English   中英

为什么浏览器的后退按钮不指向最后浏览的页面?

[英]why is browser the back button not directing to the last viewed page?

我正在一个网站上工作(重新工作可能是一个更好的词,因为我最初并未构建它)并且遇到以下奇怪的情况:

用户转到显示当前事件列表的页面。 这称为“随心所欲”。

我已添加到此页面的链接,该链接将用户引导至本月以典型日历格式显示的完整事件日历。 此页面称为“事件日历”。 进入页面后,他们还可以选择要查看的月份以及感兴趣的事件类型。

用户可以单击任何日期中列出的事件以导航到包含事件详细信息的页面。 (页面是事件详细信息,带有拉相关事件的查询。)我在事件列表下方的页面上添加了一个后退按钮,它将返回到显示月份和他们刚刚查看的搜索结果的日历中。 那里没有问题-我使用的是PHP $ _SERVER ['HTTP_REFERER'],效果很好。

这是问题所在-如果我只是在该按钮上执行了back()或history.go(-1)链接,它将使用户一直回到“操作上”。 当您单击浏览器的后退按钮时,也会发生相同的情况。 它只是完全跳过了“事件日历”。

显然,这是在其他情况下,例如企业列表和搜索,在网站上发生的。

显然我不希望这种行为-我希望后退按钮可以像以前那样转到先前查看的页面!

我想不出代码中会导致这种情况的任何东西,但是最初的站点开发人员包括了一堆JQuery程序包,例如jQuery UI,并且我想知道是否有什么东西会干扰默认的后退按钮行为。 那有可能吗?

我想我想知道的是,有任何JQuery代码都会改变后退按钮的行为,因此我可以追查并杀死它!

只是寻找关于从哪里开始寻找的想法。

显然,让它起作用的唯一方法是使用

    history.pushState({}, '', 'event-calendar?<plus whatever query was used to pull the data>'); 

在日历页面本身上。

这似乎可行,但是这是一个愚蠢的解决方法。 希望我能找到原来的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM