P粉760675452 2023-07-31 13:55:00 0 2 275
[PHP讨论组] 举报 回复话题 ↕
有没有跨浏览器的JavaScript/jQuery代码可以检测浏览器或浏览器标签页是否关闭,但不是由于点击链接引起的?
2
0
分享
P粉958986070 2023-08-01 10:50:07 2楼
根据MDN文档:由于某些原因,基于Webkit的浏览器不遵循规范中的对话框。下面的示例中有一个几乎可以跨浏览器工作的关闭示例。
window.addEventListener("beforeunload", function (e) { var confirmationMessage = "\o/"; (e || window.event).returnValue = confirmationMessage; //Gecko + IE return confirmationMessage; //Webkit, Safari, Chrome });
这个例子适用于处理所有浏览器。
赞 +0 添加回复
P粉821231319 已被采纳 2023-08-01 00:40:43 1楼
如果我理解正确,您想知道何时有效关闭一个标签/窗口。嗯,据我所知,在JavaScript中唯一检测到这一点的方法是使用onunload或onbeforeunload事件。
不幸的是(或幸运的是?),当您通过链接离开一个网站或使用浏览器的返回按钮时,这些事件也会触发。所以这是我能给出的最好答案,我认为您无法在JavaScript中原生地检测到一个纯粹的关闭。如果我理解错误,请纠正我。
P粉958986070 2023-08-01 10:50:07 2楼
根据MDN文档:
由于某些原因,基于Webkit的浏览器不遵循规范中的对话框。下面的示例中有一个几乎可以跨浏览器工作的关闭示例。
这个例子适用于处理所有浏览器。
赞 +0 添加回复
P粉821231319 已被采纳 2023-08-01 00:40:43 1楼
如果我理解正确,您想知道何时有效关闭一个标签/窗口。嗯,据我所知,在JavaScript中唯一检测到这一点的方法是使用onunload或onbeforeunload事件。
不幸的是(或幸运的是?),当您通过链接离开一个网站或使用浏览器的返回按钮时,这些事件也会触发。所以这是我能给出的最好答案,我认为您无法在JavaScript中原生地检测到一个纯粹的关闭。如果我理解错误,请纠正我。
赞 +0 添加回复