Xpages ajax 请求影响上下文历史记录

Xpages ajax request impacts context history

我有一个从 view.xsp 页面打开的简单 Xpage (page1.xsp)。它包含以下元素
1) 用 SSJS 编写的后退按钮

context.redirectToPreviousPage()

2) ajax 每 x 分钟获取一次的 CSJS 脚本

dojo.xhr.get({
    url:"page2.xsp?param1=value1",
    handleAs:"text"  
});

我的问题是,在几次 ajax 请求后,我的后退按钮转到 page2.xsp(ajax 获取页面)而不是 view.xsp。

我怎样才能返回到 view.xsp 页面?

不是答案,但是当我从多个 "views" 访问了一个 "form" 并且想知道返回到哪个时,我将它存储在 sessionScope 中打开 "form" 然后访问那个 sessionScope 变量。

后退按钮和 XHR 在不同浏览器中的行为非常不同,所以我不会依赖它。正如您所指出的,依赖会话变量可能会变得混乱。所以这就是我要做的:将页面存储到 return 到会话变量中(是的),但只是立即将其移交给页面。

使用var whereToGoBackTo = '${sessionScope.theLastPageCameFrom}'将其打包到脚本标签中并存储在客户端。由于它仅在第一页加载时进行评估,因此稍后是否被其他选项卡更改并不重要。然后使用 CSJS 导航回来。

你可以考虑一个 URL 参数,但我宁愿保持我的 URL 干净