我有以下情形:我如何確保一個自動關閉的窗口關閉了它的所有衍生窗口?
- 用戶在我們客戶的網站上點擊鏈接。它執行一個自動登錄與他們的憑據到我們的網站,這是在新窗口中啓動。
- 我們網站上的用戶註銷,併發送到頁面,該頁面執行關閉窗口的JavaScript
window.close()
。如果他們是直接登錄我們網站的客戶,那麼他們將回到登錄頁面,但自動登錄,他們沒有用於登錄頁面,因此頁面自動關閉更好。
但有時會發生以下情況
- 在一個客戶的網站的用戶點擊一個鏈接時,執行與他們的憑據來我們的網站,這將啓動在新窗口中自動登記表。
- 在我們的應用程序中,他們點擊「幫助」鏈接,該鏈接目前是另一個彈出窗口。
- 在某些時候,他們退出我們的應用程序,關閉該窗口。
- 幫助窗口仍處於打開狀態。
- 用戶單擊幫助窗口中的鏈接。
- 用戶不再被登錄,現在轉到該幫助窗口中的登錄屏幕。
- MASS HYSTERIA!
所以我想要做的是確保當原始窗口關閉時,它也關閉它產生的任何彈出窗口。我認爲這可以用JavaScript來完成,但是怎麼做?
附錄:以下建議很好,但問題是瀏覽器關閉時用戶所在的頁面與生成彈出窗口的頁面不同,因此頁面的句柄全部消失。我如何獲得具有特定名稱的彈出窗口的句柄?
在這種情況下,彈出窗口很有意義 - 至少當用戶通過自動登錄來到我們的網站時。他們不想被排除在原來的會話之外,也只是登錄到我們的。 此外,這不是一個問題的答案,作爲一個評論會更好,只是FYI – 2009-11-12 23:43:43
我同意部分...如果最終用戶是在類似extranet的東西,可能適合打開一個新窗口用於外部網絡之外的東西。對他所描述的「幫助」部分使用彈出式窗口,這就是我所指的不好的。 – paulj 2009-11-13 16:27:20
paulj - 如何在不使用彈出窗口的情況下顯示「幫助」部分? 最終用戶可能需要他們正在查看的頁面上的某些內容的幫助,在這種情況下,彈出窗口顯示幫助可能有用,因爲他們不會失去他們可能在主頁面上處理的任何內容。 – David 2013-07-19 22:12:41