在SAP应用程序中维护窗口状态

时间:2017-05-25 06:48:53

标签: javascript sapui5

我正在设计一个SAP应用程序。第一个窗口在一台机器上打开,当我点击第一个屏幕窗口上的某个按钮时,它应该在第二个屏幕上打开第二个窗口。 问题是 - 我无法在两个窗口中保持会话,即假设我在第一个窗口上使用了一些过滤器,因此这些过滤器也应该应用于第二个窗口的内容。 附:它是服务器端应用程序,正在使用javascript。

任何帮助将不胜感激。 感谢

1 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点,这取决于你想要什么。 你的后端也不是很清楚(我推断你在前端使用了UI5)。

在我的头顶,我可以想到以下几点:

  • 使用JS引用在窗口之间进行通信。您可以使用window.opener获取父窗口,并在使用window.open时获得对子窗口的引用。然后你可以简单地调用(全局)函数来进行这种通信。我看到的主要问题是,当你有两个以上的窗口时,这将变得很麻烦。
  • 使用cookies存储过滤状态等。您可以attach listeners to the cookies根据cookie的内容更新过滤状态(即一个窗口“发布”到cookie,其他监听器“消耗”更改)。
  • 与上述相同,但localStorage。这将是一个更“现代”的解决方案。
  • 执行一些服务器端存储并使用 pull 机制(HTTP轮询,Websockets或HTTP / 2 SSE)。