Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Vue Js中的浏览器后退按钮处理_Node.js_Vue.js_Vuex - Fatal编程技术网

Node.js Vue Js中的浏览器后退按钮处理

Node.js Vue Js中的浏览器后退按钮处理,node.js,vue.js,vuex,Node.js,Vue.js,Vuex,在我正在处理的应用程序中,所有项目的状态都保存在后端API数据库中。Vue状态有一个布尔值,用于让用户知道状态是否为脏(与后端同步)。因此,用户可以在进行更改时按ctrl+s并保存 我遇到的一个问题是,当用户点击刷新时,他们可能会丢失工作。因此,我实现了一个功能,可以打开一个对话框,提醒用户如果在状态为脏的情况下按f5,他们将丢失工作。这是通过“beforeUnload”事件侦听器完成的 但我也需要用户按下后退按钮时工作的安全性 我可以通过以下代码检测到它: wi

在我正在处理的应用程序中,所有项目的状态都保存在后端API数据库中。Vue状态有一个布尔值,用于让用户知道状态是否为脏(与后端同步)。因此,用户可以在进行更改时按ctrl+s并保存

我遇到的一个问题是,当用户点击刷新时,他们可能会丢失工作。因此,我实现了一个功能,可以打开一个对话框,提醒用户如果在状态为脏的情况下按f5,他们将丢失工作。这是通过“beforeUnload”事件侦听器完成的

但我也需要用户按下后退按钮时工作的安全性

我可以通过以下代码检测到它:

                window.addEventListener("popstate ",  (e) => {
                
            });
但我不知道如何正确处理事件,让用户取消按下后退按钮。这可能吗


谢谢。

这在浏览器中是不可靠的,无论您使用的是什么框架;有关类似问题,请参见

也就是说,我强烈建议不要以这种方式干扰用户的浏览器交互。如果要保护用户不丢失数据,可以将其保存到本地存储,直到确认数据已存储在后端