特定页面的历史记录

时间:2012-10-10 14:50:57

标签: jquery html

我想在一个按钮中放一个链接到最后一页。但人们常常在我的网页中访问当前页面和最后一页之间的其他网站。那么,有没有办法说出我在历史中首先找到的三个页面:a.php,b.php,c.php?

3 个答案:

答案 0 :(得分:1)

不,我很确定你做不到。在我看来,任何让您访问浏览器历史记录的内容都存在安全风险。

无论如何,如果您想要一个链接到他们在您网站上访问的最后一页,那么我建议您在某处跟踪它。例如,在每个页面加载时,您可以将页面存储在会话变量中。然后,当他们点击“最后一页”链接时,可以查询该值。

使用会话变量,但确实存在超时问题。如果您需要更长期的东西,您可以考虑使用cookie,但请注意,有新法律强制您通知任何用户您使用cookie来存储此类信息。

或者,如果用户是注册用户(并且具有登录名),那么您可以将最后一页存储在数据库中。

当然,在页面加载上执行此操作意味着您必须实际跟踪最后两页(因为您也将跟踪当前页面)。

同样,另一种选择是你可以将每个页面的最后一个页面url作为url参数传递 - 很像一些网站在重定向到登录页面时使用的常见“returnurl”

答案 1 :(得分:0)

否 - 所有现代浏览器都不允许这样的内容(相同的起源政策)

您可以做的是设置数据库并记录每个用户看到的站点的最新页面(由IP地址确定)。然后,只需查看最后一次看到的页面即可。

答案 2 :(得分:0)

可以在Internet Explorer中将字符串(URL)传递给history.go()

请参阅此处的文档:http://msdn.microsoft.com/en-us/library/ms536443%28v=vs.85%29.aspx

msdn

现在,如果您需要跨浏览器替代方案,可能 history.js可以为您提供帮助。


另一种解决方案(更多是黑客攻击)会不允许将您网页中的链接保存在会话历史记录中。仅限abc。因此,当用户点击“返回”时,它只能导航到这3页。

你会怎么做? 一种方法是使用replace方法;

  

将当前文档替换为提供的URL处的文档。 [...]   使用replace()后,当前页面将不会保存在会话中   历史记录,意味着用户将无法使用“后退”按钮   导航到它。

docs:https://developer.mozilla.org/en-US/docs/DOM/window.location#replace

相关问题