今天發送的bug,正常情況下用IE和FF測試showModalDialog方法,在子頁面將處理的結果賦值給window.returnValue,關閉子頁面,在父頁面可以通過var result=window.showModalDialog(…)獲取到結果。
但chrome下result是undefine。
解決的辦法就是,在設置返回結果時,也為window.opener.returnValue賦值。
1: //父頁面調用showModalDialog
2: var result = window.showModelDialog(....);
3:
4: //for chrome
5: if(!result)
6: {
7: result=window.returnValue;
8: }
9:
10: if(result)
11: {
12: //IE/FF/CHROME都可以正常使用result
13: }
14:
15:
16:
17: //子頁面
18: var resultObj = {Pass:true};
19: if(window.opener)
20: {
21: window.opener.returnValue=resultObj;
22: }
23: window.returnValue=resultObj;
