使用Javascript警报让用户保持在页面上

使用Javascript警报让用户保持在页面上,javascript,Javascript,我正在创建一个基于web的内部应用程序,它不会成为web的目标受众 我理解警报框和强迫人们做某些事情的挫折感 话虽如此,我试图做的是创建一个javascript函数,除非用户单击某个特定页面上的链接,否则如果他们试图从该页面导航而不是使用该页面上的链接,我想提醒他们,很抱歉,您需要单击相应的链接才能退出 我的问题是,我需要锁定字段,当用户点击编辑页面时,我可以做什么,我要将该用户的表写入锁定用户列。如果存在一个值,则该用户可以访问该记录。如果该值为null,则表示没有人在编辑该记录。如果有人单击

我正在创建一个基于web的内部应用程序,它不会成为web的目标受众

我理解警报框和强迫人们做某些事情的挫折感

话虽如此,我试图做的是创建一个javascript函数,除非用户单击某个特定页面上的链接,否则如果他们试图从该页面导航而不是使用该页面上的链接,我想提醒他们,很抱歉,您需要单击相应的链接才能退出

我的问题是,我需要锁定字段,当用户点击编辑页面时,我可以做什么,我要将该用户的表写入锁定用户列。如果存在一个值,则该用户可以访问该记录。如果该值为null,则表示没有人在编辑该记录。如果有人单击进入该记录并将其锁定,我更新锁定用户列的方法可能是在页面卸载时使用ajaxy,但页面可能会被卸载,原因有2:1提交编辑表单或用户离开页面

一个警告会说,抱歉,您可以在不单击显示“解锁”的红色大按钮的情况下离开此记录,并强制用户在不刷新的情况下留在页面上


我知道机器可能会崩溃,或者浏览器上的alt f4或brute end任务仍将留给我其他工作来解锁记录

当用户试图离开页面时,您需要使用页面的onunload事件来显示messagebox。查看此示例:

锁定表听起来是个非常糟糕的主意。您无法阻止某人关闭浏览器选项卡,或在URL窗口中键入新URL,或单击书签等。我理解,但这是一个内部应用程序,将指导人们如何使用它。键入新url或单击书签仍需要卸载该页面。糟糕。使用更好的方法,即使尽可能简单。JavasSript本身应该只是“打扮”一下,以防止用户意外离开和丢失工作(例如gmail)。这可能是您能做的最好的事情,但用户可以始终单击表示“我不在乎,反正我要离开”的按钮。您可以控制messagebox中的按钮,防止用户离开页面。但它只是一个网页,用户只需关闭选项卡或浏览器即可。没有办法完全阻止用户离开。我理解这一点。你可以做一些事情来提醒将要履行工作职责的人,让他们朝着正确的方向前进。