知道浏览器刷新或F5的方法已经被击中

时间:2011-12-16 08:37:52

标签: javascript javascript-events refresh

我正在寻找一种方法来识别用户是否刷新页面或使用javascript(更具体地说是原型javascript库)点击F5 ...

我正在编写一个应用程序,需要在网页上记录刷新次数或F5以进行统计。刷新或F5在这种情况下意味着用户正在跳过或逃避在页面上完成他的工作:)所以统计数据可以帮助他们找到有多少人在做这件事:) ..有种警务......

4 个答案:

答案 0 :(得分:3)

将以下代码放在每个页面上(只有这样才能区分刷新/导航):

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;

只有在同一个域上导航而不这样做时才会有所不同(即转到另一个网站,然后回到相同的页面计为刷新)。

答案 1 :(得分:1)

加载页面后,将时间戳保存到永久存储(Web Storage或cookie)中。

在此之前,检查时间戳是否已经存在。然后根据需要比较邮票。

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!')
}

答案 2 :(得分:1)

这是一个更简单的解决方案:window.onbeforeunload

答案 3 :(得分:0)

您可以检查keycode = 116,并检测按键事件。