我正在進行一個站點間單點登錄項目,並且在我的腿上掉了一個很小的問題。當用戶退出「父」站點時,需要在包含「子」站點的彈出窗口中加載特定頁面。但是,我無法存儲對window.open(…)
的返回值的引用,因爲在註銷之前必須允許用戶在每個站點上隨意導航。是否有可能確定一個命名窗口是否在JavaScript中打開?
如果我可以假設子站點始終打開,那麼這很容易,因爲到同一命名窗口的另一個window.open(…)
將更改其URL。但是,彈出式窗口如果尚未打開(不是所有用戶都有權訪問子站點),則不會導致出現。
我認爲這給了我兩個衝突的情況。當用戶訪問子站點時:
- 用戶登錄到父站點。
- 用戶點擊子網站的鏈接
- 子網站出現在名爲「child_popup」的窗口中。
- 用戶在父網站中瀏覽的範圍很廣,忘記了子窗口存在。
- 用戶註銷父站點。
- 子彈出被重定向到子站點的註銷頁面。
,並在用戶沒有或不能訪問子站點:
- 用戶登錄到父站點。
- 用戶在父網站中瀏覽的範圍很廣。
- 用戶註銷父站點。
- 不應該彈出窗口!
所以我的限制是:
- 我不能儲存在JS窗口的引用,因爲用戶可以導航到任何數量的訪問子站點和退出之間的頁面。
- 我有零控制子站點的內容(我的僱主運行父站點)。
- 父站點無法轉換爲框架以提供「全局」JS範圍。 :-)
我無法在Google或SO上找到任何相關資源。有沒有辦法做到這一點?
不幸的是,我沒有訪問服務器端會話數據(讀*或*寫)。從本質上講,我被要求在純JS中做到這一點。我現在正在推動,看看我能否得到一組更合理的要求。 – 2009-02-18 23:44:36