我们的调查向我们表明,并非所有浏览器都以统一的方式尊重http缓存指令.
出于安全原因,我们不希望在我们的应用程序某些网页缓存,有史以来,通过Web浏览器.这必须至少适用于以下浏览器:
我们的要求来自安全测试.从我们的网站注销后,您可以按后退按钮查看缓存页面.
我必须检测用户是否点击了后退按钮.为此,我正在使用
window.onbeforeunload = function (e) {
}
Run Code Online (Sandbox Code Playgroud)
如果用户单击后退按钮,它可以工作.但是,如果用户单击F5或重新加载浏览器按钮,也会触发此事件.我该如何解决?
我们正在使用:
我们有mainForm.jsp,filterForm.jsp和externalForm.jsp意见.
有一个按钮"过滤器"打开mainForm.jsp过渡到filterForm.jsp.它通过导航规则执行此操作:
<h:commandButton value="Filter" action="#{mainBean.filterData}" />
Run Code Online (Sandbox Code Playgroud)
该mainBean.java代码是:
public String filterData() {
doStuff();
return "filter";
}
Run Code Online (Sandbox Code Playgroud)
这最初正确地转换为filterForm.jsp.我们可以回到mainForm.jsp浏览器后退按钮.我们可以反复这样做.
在mainForm.jsp我们有一个表(实际上是一个ILog的甘特图,但我们不认为事项),与上图巴的"弹出"菜单.其中一个菜单选项是重定向到externalForm.jsp.
选择"重定向"会触发以下方法mainBean.java:
public void redirect(FacesMenuActionEvent event) {
if (svr == null) {
svr = new SetupURL(); // Simple code to set up the full URL
}
redirectUrl = …Run Code Online (Sandbox Code Playgroud)