彈出窗口重複載入

在寫頁面程序的時候,經常會使用到javascript來控制窗口的彈出—window.open()。它的參數非常的靈活,標題、名稱、窗口參數配置。用戶有時可能會在同一個頁面中要打開幾個窗口來查看不同的內容,如果代碼規範不夠細緻,開發者又不夠小心,就會遇到這樣的問題:先彈出了一個窗口而沒有關閉,當用戶想再打開另一個窗口顯示不同的內容時,第一個窗口的內容會被新的內容覆蓋而不會有新窗口打開。例如,用戶在編輯定單的時候,要先打開一個窗口選擇供應商,在關閉供應商窗口之前,用戶又打開另一個窗口要選擇時間。沒有新的窗口打開,只是供應商窗口的內容被時間選擇的窗口給覆蓋了。這個問題曾經困擾過我兩次,相信不會有第三次了。

問題出在window.open()的調用上。如果兩個window.open的名稱參數是一樣的,那麼IE會在同一個彈出窗口中load新內容。解決辦法已經出來了—就是爲每一個window.open定義不同的名稱參數。看似簡單的解決辦法,其實又引申出另一個概念:用習慣規避風險!良好的開發規範可以減少大量的潛在風險,也許你不需要知道所有的規範有什麼好處,但首先你要保證遵守既定的開發規範,然後再去理解它,發展它。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章