我正在寻找一种方法来确定,如果用户刷新页面或使用JavaScript点击F5(更具体Prototype JavaScript库)...办法知道浏览器刷新或F5一直打到
我编码的应用程序需要在网页上记录刷新或F5的数量以进行统计。在这种情况下刷新或F5意味着用户跳过或逃避做页对他的工作:)所以统计数据可以帮助他们找到有多少人正在这样做:) ..警务类...
我正在寻找一种方法来确定,如果用户刷新页面或使用JavaScript点击F5(更具体Prototype JavaScript库)...办法知道浏览器刷新或F5一直打到
我编码的应用程序需要在网页上记录刷新或F5的数量以进行统计。在这种情况下刷新或F5意味着用户跳过或逃避做页对他的工作:)所以统计数据可以帮助他们找到有多少人正在这样做:) ..警务类...
把下面的代码段上每个页(只有这样,你可以刷新/导航之间不同):
var last = localStorage["lastPage"] || "",
current = location.href;
if(last === current) { // last page is the same as this page
// this is a refresh
]
localStorage["lastPage"] = current;
它只有在同一个域上导航而不是这样做(即去另一个网站,然后返回到同一个页面才算刷新)。
你可以检查keycode = 116,并检测按键事件。
我想他会问到如何检测页面刷新,而不仅仅是检测F5键... – 2011-12-16 08:58:47
在加载页面,保存时间标记为持久性存储(无论是Web Storage或饼干)。
在此之前,检查时间戳已经在那里了。然后根据需要比较邮票。
var MIN_TIME = 60e3 // 60 seconds
var key = location.href
var now = Date.now()
var previousVisit = localStorage.getItem(key) || now
localStorage.setItem(key, now)
if (now - previousVisit < MIN_TIME) {
alert('You lazy sloth!')
}
这是一个非常简单的解决方案:window.onbeforeunload
如果你只是关闭的标签/窗口将被触发。 – katspaugh 2011-12-16 10:08:24
是的,但要求是«意味着用户跳过或逃避做页面他的工作»,所以我猜它适用。 – 2011-12-16 14:00:28
是否点击地址栏,然后点击Enter算作刷新? – 2011-12-16 09:25:25