[Javascript]获取窗口关闭事件

JS监听浏览器关闭、刷新及切换标签页触发事件 蛮简单的东西,知道就会,不知道就不会,没什么逻辑可言。简单记录一下,只为加深点儿印象。 阅读详情

需求:监听用户关闭窗口的事件,然后添加日志统计


方法: 使用 beforeunload


示例:

window.addEventListener("beforeunload", function( event ) {
  event.returnValue = "\o/";}
); 
//is equivalent to
window.addEventListener("beforeunload", function( event ) {
  event.preventDefault();
});


参考:https://developer.mozilla.org/en-US/docs/Mozilla_event_reference/beforeunload


另外,在使用的时候还发现一个webkit对settimeout() 的处理问题:

当用户切换窗口后,会暂停之前窗口进程的settimeout() , 比方说,我在A窗口使用settimeout( ) 5s,当在第4s切换至页面B,此时A页面的settimeout( )会暂停,当再次切换至A页面,A页面继续执行settimeout( ),1s后执行相应操作。


其实也不算是问题,是webkit内核的一种处理策略吧。

所以,如果有用到settimeout( )进行时间判断,可能需要考虑通过自建一个时间进程去统计了。

javascript页面关闭事件 javascript页面关闭触发事件 非常实用 立即下载

相关推荐

js实现关闭网页出现是否离开提示

大家是否经常遇到在关闭网页的时候,会看到一个确定是否离开当前页面的提示框?想一些在线测试系统、信息录入系统等就经常会有这一些提示,避免用户有意或者无意中关掉了页面,导致数据丢失。这里面的实现过程很简单,利用了HTML DOM事件中的onunload和onbeforeunload方法。 unload 事件属性 定义:当用户卸载文档时执行一段 JavaScript,例如: // body<body onunload="goodbye()"> //window[removed]=function(e){       var e = window.event||e;    e

获取页面的关闭事件

function closeEvent(event){//获取事件类型var s = event.type;if(s=='unload'){exit();}} js中的代码 这样就可以了 试了试还不错 没有报错 F4+ALT 右键关闭 按钮关闭 都可以 window.close();刚学会 分享一哈哈!!!...

口袋里的小龙的专栏 1856

基于51单片机的电压表【0-20V,ADC0832,4051,自动量程】(仿真)

自动换挡式数字电压表就是一个基于单片机的能自动切换量程的数字电压表,其作用是在使用低位的AD转换实现高精度电压测量,可以测量0~20V的电压,并且具有0~0.2V(待测电玉低于0.2V时),0~2V(待测电压低于2V时)和0~20V三个量程自动匹配测量,当待测电压值发生变化时,电压表可以根据输入电压情况自动选择合适的量程进行测量,并且把测量结果显示出来。(2)实现电压表精度测试,最高精度要求0.01V;(1)实现0~20V分3档式电压表;

qq_63964231的博客 1498

JS获取窗口关闭事件(转)

1.用javascript重新定义window.onbeforeunload()事件    在javascript里定义一个函数即可    functionwindow.onbeforeunload(){alert("关闭窗口")}    alert()事件将会在关闭窗口前执行,你也可以用户决定是否关闭窗口    functionwindow.onbeforeunload(){    if(eve...

yelr_j 1113

使用单调栈求解最大矩形面积问题的C++实现

通过本文的介绍,我们详细讲解了如何使用单调栈求解砖墙中最大矩形面积的问题,并提供了完整的C++代码实现。希望通过本文的学习,你能掌握单调栈的基本概念及其在实际问题中的应用。如果你有任何疑问或建议,欢迎在评论区留言交流。

m0_57781768的博客 814

深入Luckfox Pico的Web界面:从Angular前端到CGI后端的RV1106 IPCWeb全栈解析

本文深入解析了基于瑞芯微RV1106芯片的Luckfox Pico设备上,IPCWeb全栈解决方案的架构与部署。详细介绍了如何通过SDK编译配置,将现代Angular前端框架与高效的C++ CGI后端结合,并利用nginx和FastCGI在嵌入式环境中构建稳定、高性能的Web管理界面,为物联网设备开发提供了完整的实战参考。

3a9bq4r8t2y的博客 277

页面关闭时间触发的事件

var _t; window.onbeforeunload = function() { setTimeout(function(){_t = setTimeout(onunloadcancel, 0)}, 0); return "真的离开?"; } window.onunloadcancel = function() { clearTimeout(_t...

u010985901的专栏 642

DEXPI与Proteus XML:解锁过程工业P&ID数据互操作性的技术核心

本文深入探讨了DEXPI与Proteus XML在过程工业P&ID数据互操作性中的核心技术。通过解析DEXPI标准的开源特性和Proteus XML的架构设计,揭示了其在跨平台数据交换中的关键作用,并结合CADMATIC和西门子COMOS的实战案例,展示了如何实现高效的数据集成与转换。

weixin_29195615的博客 385

JS - 捕获打印窗口关闭事件

实际上浏览器没有标准化的打印窗口关闭事件,但是根据js单线程这一特性,我们可以在打开打印窗口时同时执行一个异步函数,这样异步函数将被阻塞直到窗口关闭,通用于任何窗口。

XieJay97的博客 1945

使用python获取同花顺免费版和同花顺远航版自选股数据用于量化交易

在做量化交易时,有时需要在盘中实时监控同花顺自选股的数量,以便灵活地自定义提醒、捕捉买卖时点等。那么,如何使用python获取同花顺自选股数据呢?

tzzqn2008的专栏 3684

【电机应用控制】——直流有刷电机&驱动板/编码器介绍&PID算法&实操代码思路

声明:学习笔记来自正点原子B站教程,仅供学习交流!!玩具车、平衡车、无人机、印刷机、打印机、手机振动马达等电机即电动机(motor),也叫作马达,电能转化为机械能。按电源:直流、交流按用途:驱动用、控制用按运转速度:高速、低速、恒速、调速直流电机(有刷、无刷)、舵机、步进电机、伺服电机1、直流有刷电机(Brushed DC Motor,简称BDC)是内含电刷装置的将直流电能转化为机械能的电动机。例如四驱赛车四个马达操控方便、成本低、维护时换电刷即可;

weixin_51658186的博客 2万+

html5 关闭窗口事件,【已解决】js中的createWindow的用法和获取对应的关闭窗口的事件...

【背景】折腾:期间,需要去搞懂:js中的createWindow是如何使用的,语法如何以及关闭窗口时候对应的事件是什么->便于后期加入销毁kindeditor的代码【折腾过程】1.先去搞懂:createWindow(contextId, '修改团购描述', 700, 500, 'view/store/form/goodsdetaileditform.html');的具体含义。搜:js cr...

weixin_34809884的博客 556

Python爬虫实战:全面采集国家自然科学基金项目数据的全流程指南

国家自然科学基金委员会(NSFC)支持基础研究、应用基础研究,是我国科研投入的核心项目之一。公开的项目数据包括项目名称、负责人、资助金额、年度、单位等,具备极高科研和数据分析价值。requests:基础HTTP请求库,简单直观:异步HTTP请求库,适合大规模并发:HTML解析,提取数据:处理JavaScript渲染网页pandas:数据分析与清洗:数据库存储:重试机制实现。

2201_76125261的博客 753

父窗口中得知window.open()出的子窗口关闭事件

父窗口中得知window.open()出的子窗口关闭事件 一种在父窗口中得知window.open()出的子窗口关闭事件的方法 parent.htm : var timer var winOpen function IfWindowClosed() { if (winOpen.closed == true) { document.fm_Inf...

y雨打沙滩点点滴!!! 412

【nnUNetv2进阶】三、nnUNetv2 自定义网络-发paper必会

对于很多朋友来说,找到nnunet的网络结构位置的代码可能比较困难,因为nnunet的网络结构从else:代码中没有网络结构的类名,那么使用的网络是哪个呢?打开预处理后的数据集中的nnUNetPlans.json文件,如下图,configurations里面有2d、3d_fullres等,这些表示nnunet的模型,下面的network_class_name指的就是训练使用的模型结构,一般都是PlainConvUNet。

AI爱好者的博客,分享计算机领域相关知识 8757

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

JavaScript——使用按钮创建并关闭新的窗口页面

1. 在html中使用 input 标签创建一个按钮 <input id="input" type="button" value="创建新窗口"> 2. 获取 input 对象 var btn = document.getElementById("input"); 3. 绑定方法 btn.onclick = function () { open(); } 完整代码 <!DOCTYPE html> <html lang="en"> <head>

Melonico的博客 1661

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

JavaScript学习笔记04【高级——DOM和事件的简单学习、BOM对象】

JavaScript高级——DOM和事件的简单学习、BOM对象、DOM对象

upward 960

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Java焦点事件/键盘事件/窗口事件

Java焦点事件 组件是可以触发焦点事件的.组件可以使用addFocusListener(FocusListener listener)注册焦点事件 创建的监视器必须实现FocusListener接口//改接口有两个方法 public void focusGained(FocusEvent e)//获取焦点 public void focusLost(FocusEvent e)//失去焦点 简...

想带狗熊去吹风 3635

js实现弹出窗口的拖拽功能

弹出窗口的拖拽 拖拽功能运用到的有 onmousedown 事件,onmousemove 事件以及 onmouseup 事件 弹出窗口基本步骤: 1、点击点击弹出窗口按钮弹出窗口; 2、窗口弹出后,鼠标点击标题的时候我们需要获取鼠标所在位置的横纵坐标,然后获取盒子离页面的横纵方向的距离; 3、计算出鼠标相对盒子的距离; 4、当鼠标移动的时候,获取鼠标移动的距离,在用鼠标此刻的位置减去鼠标相对盒子的...

weixin_46390620的博客 1328

python开新窗口的方法_Python爬虫:selenium打开新窗口和多窗口切换 | 猴头客

上说可以通过发送按键事件触发,比如ctrl+T,不过我没成功,使用了js打开新窗口的方式代码示例# -*- coding: utf-8 -*-# @File : switch_tab.py# @Date : 2018-07-27# @Author : Peng Shiyuimport timefrom selenium import webdriverbrowser = webdri...

weixin_39518530的博客 693

javascript中的事件处理

1.常用的事件 1.页面初始化事件 2.按钮点击事件 onclick

djb328217的博客 683

获取浏览器窗口_JavaScriptBOM_打开关闭窗口_单击事件(十九)

目录:1.什么是BOM2.单击事件3.打开和关闭窗口一、什么是BOM1.BOM(Browser Object Model)即浏览器对象模型。BOM提供了独立于内容 而与浏览器窗口进行交互的对象;由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window;BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性;BOM缺乏标准,JavaScript语法的标准化组织是ECMA,D...

weixin_29016315的博客 446

关闭取消 按钮事件

按钮 <button class="layui-btn layui-btn-primary" onclick="fn_Close();" type="button">取消</button> js 事件 /** 设置关闭按钮的click事件处理 */ function fn_Close() { var index = parent.layer.getFrameI...

qq_38923630的博客 911

php页面浮动窗口代码,JavaScript浮动广告窗口实例

浮动广告窗口浮动广告窗口#mydiv{width:100px;height:100px;background:#f00;}#content{text-align:center;}#adv{position:absolute;top:80px;left:60px;}#close{position:absolute;top:80px;left:164px;}var advObj;var advTop;...

weixin_39790738的博客 223

javascript获取TreeView控件选中节点的Text和Value

在实际项目中,遇到一个问题,首先弹出一个新窗口,新窗口中放了一个TreeView控件,TreeView控件的数据绑定在我的上一篇随笔(TreeView绑定XML数据源C#代码示例)中有讲到,现在要解决的是,如何单击TreeView中一个节点,返回Text和Value到父页面并关闭该新窗口。 首先,在后台代码中为TreeView添加属性onclick以支持TreeView的客户端事件,代码如下: ...

weixin_34380296的博客 489
上一篇: Linux 查看端口占用并杀掉
下一篇: smarty模板判断数组为空
spring21st
博客等级 码龄21年 450粉丝 407原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值