如标题:有一种方法可以让我知道,客户端,当前页面是通过浏览浏览器的历史记录,还是跟随链接,还是通过回发来显示?
问问题
827 次
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 回答