知道浏览器刷新或按了F5键的方法

Way to know browser refresh or F5 has been hit

本文关键字:F5 方法 浏览器 刷新      更新时间:2023-09-26

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

我正在编写一个应用程序,需要记录刷新次数(es)或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;

只有在同一域上导航和不这样做(即转到另一个网站,然后再回到相同的页面算刷新)之间的区别

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

加载页面后,将时间戳保存到持久存储(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!')
}

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