gpt4 book ai didi

javascript - 如何阻止页面在 JS 中卸载(导航离开)?

转载 作者:IT王子 更新时间:2023-10-29 02:51:29 25 4
gpt4 key购买 nike

有谁知道如何阻止页面重新加载或导航离开?

jQuery(function($) {    /* global on unload notification */    warning = true;    if(warning) {        $(window).bind("unload", function() {             if (confirm("Do you want to leave this page") == true) {                //they pressed OK                alert('ok');            } else {                // they pressed Cancel                alert('cancel');                return false;            }        });    }});

我目前在一个电子商务网站上工作,显示您 future 订单的页面能够使用 +/- 按钮更改订购商品的数量。以这种方式更改数量实际上并不会更改订单本身,他们必须按确认并因此采取积极行动来更改订单。

但是,如果他们更改了数量并离开页面,我想警告他们这样做是为了防止发生意外,因为如果他们离开或刷新页面,更改的数量将会丢失。

在上面的代码中,我使用了一个全局变量,默认情况下该变量为 false(仅在测试时为 true),当数量发生变化时,我会将此变量更新为 true,当他们确认更改时,我将设置它是假的。

如果警告为真并且页面已卸载,我会向他们提供一个确认框,如果他们拒绝,他们想留在这个页面上,我需要阻止它卸载。 return false 不起作用,它仍然让用户导航离开(警报仅用于调试)

有什么想法吗?

最佳答案

onbeforeunload 就是你想要的;您的函数 “应该为 Event 对象的 returnValue 属性分配一个字符串值并返回相同的字符串”。查看来自 Microsoft 的文档和 Mozilla了解详情。

浏览器将使用您返回的字符串向用户显示一个自定义确认框,允许他们选择拒绝停留在那里。必须这样做才能防止恶意脚本导致拒绝浏览器攻击。

关于javascript - 如何阻止页面在 JS 中卸载(导航离开)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1299452/

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