设置密码以关闭 chrome 并启动 chrome 作为弹出窗口

set password to close chrome and start chrome as popup

你好,我正在使用 laravel 8,我的软件是 pos .. 一切都很好,但我有一个大问题.. 这就是有时收银员可以在客户离开时刷新页面而不保存发票 .. 所以我所做的就是这个..

document.addEventListener('keydown', (e) => {
    e = e || window.event;
    if(e.keyCode == 116)
    {
        var is_admin = $("#is_admin").val();
        if(is_admin != 1)
        {
           e.preventDefault();
           // this code here will not allow f5 to work 
        }
    }
});

但收银员转到地址栏并按回车键,然后他就刷新了页面 有时他们还会点击 url 栏旁边的刷新按钮 所以我开始 chrome 在 kisok 模式全屏 但问题是他可以将鼠标移动到浏览器顶部,url 栏将再次显示,他可以刷新页面.. 所以我的问题的解决方案是有什么方法可以在刷新页面或关闭 chrome 时在 chrome 中设置密码,或者有什么方法可以在没有关闭栏和 [=23 的情况下启动 chrome =] kisok 模式下的栏
谢谢..

根据我的研究,我没有发现任何与在 chrome 中设置关闭密码相关的内容,相反,考虑到这个 closing/refreshing 问题是意外发生的,我有其他解决方案可以帮助您.

#1st 解决方案 - 闭包扩展 https://chrome.google.com/webstore/detail/closure/jjagagcgljmlnihcilbpbfcglnopepjb

一个非常简单的扩展,通过锁定当前浏览器选项卡来工作。单击工具栏图标或右键单击页面,然后 select“确认关闭”。当前选项卡中网站的图标将变成挂锁。 如果收银员点击刷新按钮或关闭按钮,将显示一个确认弹出窗口。

#第二个解决方案 - 禁用关闭按钮

检查这 5 个声称可以通过禁用关闭按钮来防止意外关闭软件的软件 https://www.raymond.cc/blog/prevent-program-closing-disabling-close-button/

#3rd 解决方案 - 保存草稿.

我的最后一个解决方案是您可以使用

window.addEventListener('beforeunload', function (e) {
    // saving current invoice in localstorage to be retrieved later
});
// check this answer
// 

beforeunload 事件,因此您可以在关闭 window 之前在语言环境存储中保存当前发票的草稿,但您应该非常清楚如何管理这些草稿,何时取回它们,以及何时清洁它们。 此外,如果您选择这种解决方案,则可以使用服务工作者。

同样,这都是关于收银员是否意外做出这种行为,我认为他必须知道自己在做什么,所以你正在尽可能地进行验证以防止这种行为并使你的系统更加健壮尽可能,我鼓励你从技术角度考虑这个问题,那么你应该采用第三种解决方案,对于客户来说,只需向他提供其他两种解决方案,我认为它们会很好地工作,否则,如果客户想要故意弄错了那就是他的责任了。