解決在Chrome下無法獲取showModalDialog返回值的問題


今天發送的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;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM