子页面关闭时父页面进行刷新的bug

前两天发现一个奇怪的问题:我在h5手机页面上经过window.open(url)的方式打开一个新窗口,在新窗口关闭的时候返回数据给父页面,而后新窗口自动close(),拿手机测试发现没有问题,测试经过。可是在PC端模拟的时候发现,子页面执行window.close()的时候父页面也会自动刷新,这个就很头疼了,由于测试人员不少时候都是经过PC来模拟进行测试的,每次都经过真机进行测试效率比较低。post

问题分析:PC端模拟的时候并非以新窗口的方式打开子页面的,而是在新标签页面打开的,就是由于是新标签页打开的方式致使的这个bug。以前测试的时候父页面的数据一样能够经过postMessage的方式传给子页面,因此这一点我就没有关注。测试

解决方案:知道是问题的缘由了,剩下的就是解决了。尝试给open增长参数,name设置为"_blank"也没法达到新窗口的效果,后来对specs也进行设置了宽和高,才达到以新窗口的时候打开页面,此时再自动执行window.close(),父页面也不会自动刷新了。url