我用的是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但问题是,他可以将鼠标移动到浏览器顶部,url栏将再次显示,他可以刷新页面。所以我的问题的解决方案是有任何方法在chrome设置密码时刷新页面或关闭chrome或有任何方法启动chrome没有关闭栏和url栏在kisok模式
谢谢..
根据我的研究,我没有发现任何与在chrome中设置密码关闭有关的内容,相反,我有其他解决方案,可以帮助您考虑此关闭/刷新问题意外发生。
<<p># 1解决方案/strong>-闭包扩展https://chrome.google.com/webstore/detail/closure/jjagagcgljmlnihcilbpbfcglnopepjb是一个非常简单的扩展,通过锁定当前浏览器选项卡来工作。单击工具栏图标或右键单击页面并选择"确认关闭"。当前选项卡中的网站图标将变成挂锁。如果收银员点击刷新按钮或关闭按钮,将显示一个确认窗口。
# 2解决方案-禁用关闭按钮
检查这5个软件,声称通过禁用关闭按钮来防止意外关闭软件https://www.raymond.cc/blog/prevent-program-closing-disabling-close-button/
# 3解决方案-Saving Draft.
最后一个解决方案是你可以使用
window.addEventListener('beforeunload', function (e) {
// saving current invoice in localstorage to be retrieved later
});
// check this answer
// https://stackoverflow.com/questions/13443503/run-javascript-code-on-window-close-or-page-refresh
beforeunload
事件,因此您可以在关闭窗口之前将当前发票的草稿保存在本地存储中,但是您应该非常清楚如何管理这些草稿,何时检索它们以及何时清理它们。另外,如果你选择这种解决方案,你也可以使用service worker。
,这一切如果收银员不小心让这种行为,我认为他必须意识到他在做什么,所以你让你的验证可以阻止这种行为,使你的系统尽可能的健壮,我鼓励你想到这个问题技术的方式,那么你应该把第三方案,和为客户提供他的另外两个解决方案,我看到他们会工作得很好,否则,如果客户故意犯错误,那么这将是他的责任。