在使用Javascript的Java票据应用程序中将f5更改为Ctrl-f5

Change f5 to Ctrl-f5 in a Java wicket application with Javascript

本文关键字:f5 Ctrl-f5 应用程序 Javascript Java      更新时间:2023-09-26

在我的Wicket应用程序中,我有一个页面刷新问题。如果用户在某些页面上单击f5,应用程序将会意外地执行操作。

大多数对象刷新到其原始状态。例如,一个按钮在发送数据(Javascript)后从"发送"变为"完成",将被恢复为"发送"。但是,有些缓存内容不会被清除。单击前面示例中的按钮将充当"完成"按钮,而不是"发送"按钮。

我想要的是,刷新一切,如果用户按下f5(像ctrl-f5?),所以它就像用户还没有在页面上做任何事情。这是可能的Javascript吗?

谢谢!

不,这是不可能的javascript(至少不是没有大剂量的黑魔法)。要保留页面的当前状态,此状态必须驻留在服务器上。也就是说,在处理提交事件的同时,将服务器(wicket组件)上的标签从"send"更改为"finish"。如果你只是用javascript做,服务器不会知道这个变化,所以它不能适当地恢复它。