1

如标题:有一种方法可以让我知道,客户端,当前页面是通过浏览浏览器的历史记录,还是跟随链接,还是通过回发来显示?

4

2 回答 2

3

从技术上讲,您无法读取用户的浏览器历史记录。这是出于隐私问题。但是,您可以做一些事情来确定用户是否通过页面引用者被带到您的页面。如果是回发,您可以输出服务器端变量。

在 javascript 中获取引荐来源网址非常容易

var referrer = document.referrer;

确定它是否是回发(在 C# 中)

var isPostback = <%= IsPostBack %>

历史问题稍微复杂一些。最好的解决方法是将您的页面设置为立即过期。

Response.Cache.SetNoServerCaching();
Response.ExpiresAbsolute = DateTime.Now;

但这些都是相对松散的解决方案。你为什么想要这种行为?

于 2009-10-22T14:44:18.163 回答
2

您可以为每一页添加日期戳。如果时间戳太远,用户可能使用了后退按钮。但如果浏览器没有从缓存加载页面,这将不起作用。

等等,您也可以在 url 中添加时间戳。现在您将页面的时间戳与引荐来源网址的时间戳进行比较。

我正在考虑使用 cookie 的解决方案,但我现在找不到。有人吗?

于 2009-10-22T14:59:01.930 回答