session may be lost when use window.open to open a new window
生活随笔
收集整理的這篇文章主要介紹了
session may be lost when use window.open to open a new window
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在頁面代碼中使用window.open方法打開一個(gè)新頁面,在新頁面中有可能發(fā)生session丟失的現(xiàn)象。究其原因,是因?yàn)槭褂脀indow.open方法將打開另外一個(gè)IE 的進(jìn)程,因此session的丟失就不足為奇了。
在好多應(yīng)用中(例如用戶在登錄頁面驗(yàn)證成功后轉(zhuǎn)向一個(gè)新的頁面),我們必須使用window.open方法來打開一個(gè)新的頁面,來屏蔽瀏覽器的toolbar,menubar什么的。所以我們需要使用一種變通的方法,讓我們既能夠使用window.open方法,同時(shí)在打開來的新頁面中能夠使用session,這時(shí)我們可以考慮使用application這個(gè)存儲應(yīng)用全局變量的容器。
對于本例(例如用戶在登錄頁面驗(yàn)證成功后轉(zhuǎn)向一個(gè)新的頁面),我們可以在登錄頁面驗(yàn)證成功后,把系統(tǒng)需要使用的session保存在Application中,同時(shí)對key 和 session的值進(jìn)行加密(如果對安全沒有什么要求的話就不需加密),在window.open方法打開的新頁面中,獲取存儲在Application中的變量拿出來,解密后重新賦予到session中,這樣就不會出現(xiàn)session丟失的現(xiàn)象了,同時(shí)要注意把些變量從Application中remove掉,要不然會累積N多相同的變量保存在內(nèi)存中的。
盡管如此,我們最好不要使用javascript腳本來重定向頁面,以避免出現(xiàn)一系列不可預(yù)測的問題。
在好多應(yīng)用中(例如用戶在登錄頁面驗(yàn)證成功后轉(zhuǎn)向一個(gè)新的頁面),我們必須使用window.open方法來打開一個(gè)新的頁面,來屏蔽瀏覽器的toolbar,menubar什么的。所以我們需要使用一種變通的方法,讓我們既能夠使用window.open方法,同時(shí)在打開來的新頁面中能夠使用session,這時(shí)我們可以考慮使用application這個(gè)存儲應(yīng)用全局變量的容器。
對于本例(例如用戶在登錄頁面驗(yàn)證成功后轉(zhuǎn)向一個(gè)新的頁面),我們可以在登錄頁面驗(yàn)證成功后,把系統(tǒng)需要使用的session保存在Application中,同時(shí)對key 和 session的值進(jìn)行加密(如果對安全沒有什么要求的話就不需加密),在window.open方法打開的新頁面中,獲取存儲在Application中的變量拿出來,解密后重新賦予到session中,這樣就不會出現(xiàn)session丟失的現(xiàn)象了,同時(shí)要注意把些變量從Application中remove掉,要不然會累積N多相同的變量保存在內(nèi)存中的。
盡管如此,我們最好不要使用javascript腳本來重定向頁面,以避免出現(xiàn)一系列不可預(yù)測的問題。
轉(zhuǎn)載于:https://www.cnblogs.com/leodrain/archive/2008/05/16/session-may-be-lost-when-use-window-open-method-to-open-a-window.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的session may be lost when use window.open to open a new window的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: page分页问题,根据页码获取对应页面的
- 下一篇: MongoDB学习笔记【2】-- 试用