跟踪用户何时在浏览器上单击"后退"按钮

时间:2020-03-05 18:51:15  来源:igfitidea点击:

是否可以检测用户单击浏览器的后退按钮的时间?

我有一个Ajax应用程序,如果我可以检测到用户何时单击"后退"按钮,则可以向后显示适当的数据。

任何使用PHP,JavaScript的解决方案都是可取的。最好用任何一种语言来解决,只需要一些我可以翻译成PHP / JavaScript的东西就可以了

编辑:从下面剪切并粘贴:

哇,所有的好答案。我想使用Yahoo,但我已经使用了Prototype和Scriptaculous库,并且不想添加更多的ajax库。但是它使用了iFrame,这为我提供了一个很好的指针来编写我自己的代码。

解决方案

回答

有多种方法,尽管有些只能在某些浏览器中使用。我头顶上知道的一个方法是在页面上嵌入一个几乎不可见的小iframe。当用户点击"后退"按钮时,iframe将向后导航,我们可以检测到该iframe,然后更新页面。这是另一种解决方案。

我们可能还想查看gmail之类的源代码,并查看它们的工作方式。

这是我们正在寻找的东西的图书馆

回答

没有办法告诉用户何时单击后退按钮或者按下Backspace键以返回浏览器,但是可以按一定顺序发生其他事件。此示例javascript具有用于检测后退命令的相当不错的方法:

但是,传统方式是使用Cookie或者引荐来源网页来跟踪用户在我们网站中的移动。当用户转到页面A时,然后转到页面B,然后再次出现在页面A上(特别是当B上没有指向A的链接时),那么我们知道他们返回了A可以检测到此情况并重定向它们。

回答

我最喜欢的框架之一就是Yahoo!的浏览器历史记录管理器。我们注册事件,并且当用户返回到该状态时它会回调我们。而且,如果我们想学习它的工作原理,这里有一个有趣的博客文章,介绍了Yahoo!的决策。设计时制作的。

回答

Yahoo用户界面库是我个人最喜欢的客户端JS库,它具有出色的浏览器历史记录管理器,可以完全满足要求。

回答

dojo工具箱具有使用javascript处理此功能的功能。我认为在纯PHP中没有任何好的方法来处理它。

这是他们拥有的文档页面:http://dojotoolkit.org/book/dojo-book-0-9/part-3-programmatic-dijit-and-dojo/back-button-undo