项目场景:
很多老项目使用window.ShowModalDialog,它可以完成子页面和父页面之间的传值,但是window.ShowModalDialog不是w3c的标准,有些浏览器不兼容,如Google和FireFox的高版本浏览器,window.open是w3c标准写法,兼容性比window.ShowModalDialog要好,但window.open确没有window.ShowModalDialog对浏览器的阻塞式模式,在window.open代码执行完毕后,后面的代码就马上执行了,从而无法知道子窗口关闭时传递过来的值
解决方案:
直接在子页面中拿父页面的xx元素赋值
父页面中:
window.open('url', '', 'resizable=1, menuBar=0, toolBar=0, scrollbars=yes, Status=yes, resizable=1');
url页面拿父页面的xx元素赋值
opener.document.getElementById("xx").value="newValue";
这样即可在父页面中使用