2017-05-25 65 views
0

我正在設計一個SAP應用程序。第一個窗口在一臺機器上打開,當我在第一個窗口上單擊某個按鈕時,應該在第二個窗口上打開第二個窗口。 問題是 - 我無法在兩個窗口之間維護會話,也就是說我在第一個窗口中使用了一些過濾器,所以這些過濾器也應該應用於第二個窗口的內容。 P.S.這是服務器端應用程序和JavaScript正在使用。在SAP應用程序中維護Windows狀態

任何幫助,將不勝感激。 謝謝

回答

0

有幾種方法可以做到這一點,它取決於你想要的東西。 這也不是很清楚你有什麼後端(我推斷你在前端使用了UI5)。

在我的頭頂,我能想到以下幾點:

  • 通信使用JS引用窗口之間。您可以使用window.opener獲得父窗口,並且在使用window.open時可以獲得對子窗口的引用。然後,您可以簡單地調用(全局)函數來執行此通信。我看到的主要問題是,當你不止兩個窗口時,這將變得很麻煩。使用cookies來存儲過濾狀態等。您可以attach listeners to the cookies並根據Cookie的內容更新您的過濾狀態(即一個窗口「發佈」給cookie,其他聽衆「消費」更改)。
  • 與上述相同,但是使用localStorage。這將是一個更「現代」的解決方案。
  • 做一些服務器端存儲並使用pull機制(HTTP輪詢,Websockets或HTTP/2 SSE)。