国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

cookie丟失問題(認證失效) Authentication (用戶驗證信息)也會丟失

2024-05-06 14:15:13
字體:
來源:轉載
供稿:網友

不知大家是否遇到過如此的尷尬:

 當你的頁面認證采用基于Cookie的方式,例如form,windows集成認證時,如下操作后有時認證失效,Authentication (用戶驗證信息)丟失,需要再次登錄
 系統正常登錄后:

 第一個頁面(PageA.htm):window.showModalDialog()后,彈出第二個頁面(PageB.htm)

 第二個頁面(PageB.htm):window.open()后,彈出的窗口(PageC.htm)有時會跳轉到登錄頁面

 這應該是由于不同的頁面存在于不同的進程,導致了身份信息不同步,發生了認證失效,然而這是有一定概率發生的,經過MS顧問的幫忙,終于找到了方法:
 概括講就是,在showModalDialog()時,將window作為對象參數傳入PageB.htm,在PageB中,用這個參數去open(),這樣問題就解決了
 具體如下:
-----------PageA.htm--------------
...
var obj = new Object();
obj.myTestWindowA = window;//將這個window存入對象參數中
window.showModalDialog("PageB.htm",obj,"");
...
----------------------------------

-----------PageB.htm--------------
...
var obj = window.dialogArguments;//獲取上個頁面的參數
obj.myTestWindowA.open("PageC.htm");//用上個頁面傳過來的參數打開下一個頁面
...
----------------------------------
 經測試,沒有再出現身份丟失現象,大功告成了!
 細心的朋友會發現,這樣的操作會導致,在PageC.htm中由于opener不是PageB.htm而是PageA.htm了,所以無法用window.opener與PageB.htm進行通信,而open()又無法傳遞對象參數,慌了!
不過幸好在javascript中,對象是一顆大樹,你可以在它的枝杈上掛任何東西,所以,我們為了PageC.htm能與PageB.htm通信,對PageB.htm改造 如下:
-----------PageB.htm--------------
...
var obj = window.dialogArguments;//獲取上個頁面的參數
var obj.myTestWindowA.myTestWindowB = new Object();
obj.myTestWindowA.myTestWindowB = window;//將PageB的window掛在PageA的window枝干下
obj.myTestWindowA.open("PageC.htm");//用上個頁面傳過來的參數打開下一個頁面
...
----------------------------------
 如此,便可在PageC中,通過window.opener.myTestWindowB來與PageB頁面的對象通信,例如 window.opener.myTestWindowB.document.getElementById("TextBox1").value="OK"

注:
1.這也許只是一種情況,可能先open再showModalDialog也有可能導致身份信息丟失,但大家只要傳那個沒有問題的window到下一頁面,問題就能迎刃而解。

(丟失情況請參見http://www.ourac.net/read.php?tid=45123&fpage=2)
2.也有可能在Session時發生,請參見http://support.microsoft.com/default.aspx?scid=kb;EN-US;196383

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 崇仁县| 阳春市| 永仁县| 民县| 张家川| 涞源县| 临猗县| 连州市| 重庆市| 资兴市| 察哈| 鄂托克旗| 东乌珠穆沁旗| 长春市| 滕州市| 峡江县| 乾安县| 普格县| 揭东县| 旺苍县| 霍林郭勒市| 丹江口市| 浦江县| 和静县| 凌源市| 清镇市| 乌拉特中旗| 广汉市| 白玉县| 名山县| 江华| 崇礼县| 北川| 天镇县| 喜德县| 宝山区| 攀枝花市| 古浪县| 泗洪县| 汉沽区| 陆丰市|