怎么在页面刷新/关闭之前发送个请求, 且不想要提示框
window.addEventListener('beforeunload', async (e) => { // 发送请求 , 请求发送完了之后再刷新页面});window.addEventListener('beforeunload', async (event) => { await updateReq(); event.returnValue = ' '; return ''; }
使用await不生效
不想要提示确认
我这里有一个比较笨的方法,不是我发现的,我也是在社区中看见的,抱歉无法再找出来@给你看,大概意思就是浏览器刷新和关闭的时候会存在一个时间差,这个时间差可以判断你是关闭浏览器还是刷新浏览器。代码如下
// 判断是刷新还是关闭浏览器,刷新不删除localStorage,否则删除onMounted(() => { let beforeTime = 0, leaveTime = 0; window.onunload = () => { leaveTime = new Date().getTime() - beforeTime; if (leaveTime <= 5) { console.log("====浏览器关闭====="); localStorage.clear(); } else { console.log("====浏览器刷新====="); } }; window.onbeforeunload = () => { beforeTime = new Date().getTime(); };});
这个代码我还是去gitee仓库上扒下来给你的,哈哈哈。
以前可以通过关闭页签的时候创建一个同步Ajax请求来处理,现在如果单纯想要发起一个请求,那么可以使用 Navigator.sendBeacon() 这个API。或者使用Fetch发起请求时配置 keepalive 属性。
至于如何使用社区里面有很多相关的文章
当然其实你直接看MDN的文档也能够做出来的。
监听浏览器关闭时需要【发送请求给后端】清除token,不受刷新和关闭标签页影响,有人搞过吗? 给了其它方案给设计师,但他们安全那边就是要关闭浏览器时就得发送请求给后端使token过期
问题内容: 好的,我有一个仅包含的简单表格。当我们点击submit(通过ajax存储)时,在文本字段中写入的数据将存储在DB中。Ajax可以正常工作并提交数据,但是,页面会自动刷新,并且URL包含输入字段的内容。 我的表格: 阿贾克斯:- PHP的:- 结果显示在后,页面将刷新,URL变为: -chat.php?message = 454545&submit_message = 为什么要刷新页面?
怎么强制用户刷新页面? 今天遇到一个问题,是一个公众号上面的项目,修改了一个问题,但是需要用户刷新才能看到效果?用什么技术可以实现?无论是小程序,公众号还是h5,只要我上传了修改过的代码,就可以让用户直接看到效果,不管用户是否强制刷新? 无论是小程序,公众号还是h5,只要我上传了修改过的代码,就可以让用户直接看到效果,不管用户是否强制刷新?
问题内容: 如何强制Web浏览器通过JavaScript硬刷新页面? 硬刷新意味着获取页面的新副本并刷新所有外部资源(图像,JavaScript,CSS等)。 问题答案: 尝试使用: 当此方法接收一个值作为参数时,它将导致该页面始终从服务器重新加载。如果为false或未指定,浏览器 可能会 从其缓存中重新加载页面。
下图这是这个页面的所有代码,我想像vue的mounted一样,刚进页面就请求接口,请问我该怎么写? 另外,这应该属于是typescript吧?完全看不懂一脸懵 并且,我的接口不是固定地址,后端那可能会上传到不同的服务器,如何像vue一样配置proxy? 在这里先谢谢各位大哥大姐的解答,小弟感激不尽!
本文向大家介绍JavaScript中判断页面关闭、页面刷新的实现代码,包括了JavaScript中判断页面关闭、页面刷新的实现代码的使用技巧和注意事项,需要的朋友参考一下 今天由于项目需要判断用户离开页面时要判断用户的行为是关闭还是刷新 虽然没有直接的方法,但通过一定的技巧也能做到 不得不感叹JavaScript的强大!! 请看一下代码: 其实就是通过离开页面行为时间onunload触发时间去检测