【发布时间】:2009-10-22 14:38:32
【问题描述】:
如标题:有一种方法可以让我知道,客户端,当前页面是通过浏览浏览器的历史记录、跟随链接还是回发来显示的?
【问题讨论】:
标签: javascript browser browser-history
如标题:有一种方法可以让我知道,客户端,当前页面是通过浏览浏览器的历史记录、跟随链接还是回发来显示的?
【问题讨论】:
标签: javascript browser browser-history
从技术上讲,您无法读取用户的浏览器历史记录。这是出于隐私问题。但是,您可以做一些事情来确定用户是否通过页面引荐来源网址被带到您的页面。如果是回发,您可以输出服务器端变量。
在 javascript 中获取引用非常简单
var referrer = document.referrer;
判断是否为回发(C#)
var isPostback = <%= IsPostBack %>
历史问题有点复杂。最好的解决方法是将您的页面设置为立即过期。
Response.Cache.SetNoServerCaching();
Response.ExpiresAbsolute = DateTime.Now;
但这些都是相对松散的解决方案。你为什么想要这种行为?
【讨论】:
您可以为每个页面添加日期戳。如果时间戳太远,用户可能使用了后退按钮。但如果浏览器没有从缓存加载页面,这将不起作用。
等等,您也可以在网址中添加时间戳。现在您将页面的时间戳与引荐来源网址的时间戳进行比较。
我正在考虑使用 cookie 的解决方案,但我现在找不到。有人吗?
【讨论】: