gpt4 book ai didi

javascript - 如何检测用户在多个选项卡中按下了哪个关闭按钮

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:48:17 24 4
gpt4 key购买 nike

我找到了很多代码来检测浏览器的关闭按钮,但是在调用关闭选项卡时我得到了事件。我只想获得主要的关闭按钮事件来提醒用户是否留在该页面。我找到了这段代码。

<script type="text/javascript"> 
window.onbeforeunload = function (evt){
var message = 'Are you sure you want to leave?';
if (typeof evt == 'undefined') {
evt = window.event;
}
if (evt) {
evt.returnValue = message;
} return message;
}
</script>

它提醒用户在单击选项卡关闭时关闭或停留。

现在,我想检测主浏览器关闭事件。因为发现关闭事件也用于选项卡关闭。

谁能帮我解决这个问题?

最佳答案

浏览器与页面:

浏览器级事件不能直接用于页面级 JavaScript。有些事件具有从浏览器到页面的等效项,有些则没有。这是出于安全考虑。

关闭浏览器的选项卡是浏览器级别的事件。通知页面正在发生 unload 事件。该页面不知道我们是否正在经历“刷新”或“导航到另一个链接”或选项卡是否已关闭,或者整个浏览器是否已关闭或某些浏览器插件是否已崩溃。

此外,页面卸载事件不知道在卸载时是否还有打开的窗口/选项卡。一些浏览器甚至可能没有选项卡(或与此相关的窗口)的概念。所以浏览器级别的事件是浏览器开发者和插件开发者所关心的。页面级事件是您的关注点。

页面事件:

可以捕获点击事件,可以抑制默认(页面导航)行为并用完全不同的东西替换。

但是大多数 unload 事件都受到限制,它们不允许您替换默认行为,它们只允许您通过确认对话框询问用户是否想离开或留下(有一些可配置的标题/文本,但其中没有 html)。如果用户拒绝,您将不再控制该页面 - 完成,finitto,选项卡将关闭。

如果您想要确保用户不会通过导航链接或提交表单去任何地方,那么您需要捕获这些事件中的每一个。关闭标签页和窗口不是您的问题。

关于javascript - 如何检测用户在多个选项卡中按下了哪个关闭按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21699031/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com