我为 Notes 表单创建了一个 XPage。我添加了一个编辑按钮,用于执行一些逻辑,然后将文档模式切换为“编辑”,以及一个保存并关闭按钮,用于保存文档并重定向到 Notes 视图的 XPage。
这工作正常,但是当返回视图后按下浏览器后退按钮时,文档会再次以编辑模式显示。是否可以以只读模式返回文档?
因为按下编辑按钮时会执行一些逻辑,并且我需要确保当用户通过浏览器后退按钮返回到文档时也执行该逻辑,而不是在不执行逻辑的情况下直接跳转到编辑模式。
忽略请求参数对我来说不是一个选择。
我通过禁用客户端浏览器缓存(=强制客户端浏览器每次重新加载页面而不是显示页面的缓存版本)并添加“编辑模式是通过编辑按钮输入的吗?”来解决这个问题。查看。
beforeRenderResponse:禁用该页面的浏览器缓存
var response:java.lang.Object = facesContext.getExternalContext().getResponse();
response.setHeader("Expires", "Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past (= expired)
response.setHeader("Pragma", "no-cache"); // HTTP/1.0
response.setHeader("Cache-Control", "no-store"); // HTTP/1.1
页面加载之前:
检查是否通过编辑按钮进入编辑模式。
如果不是,请更改为只读模式
if (!<was edit-mode entered via edit-button?>) {
var pagePart:string = view.getPageName() + "?";
var documentPart:string = "documentId=" + context.getUrlParameter("documentId");
var actionPart:string = "&action=openDocument";
context.redirectToPage(pagePart + documentPart + actionPart);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)