A页面 open方式出 B页面 ,当B页面做了类如保存动作后,需要关闭B页面,刷新A页面的情况下,会弹出一个提示框,要求点重试,这个就是发生预料之外的情况,用户体验很差。
解决方案分两种情况:
1、A页面很简单的情况(没有frame/iframe)
在B页面中的function中:
function close(){ window.opener.location.reload(); window.opener = null; window.open('','_self'); window.close(); }
就可以了。
2、A页面元素有点复杂,带框架等:
需求:B页面想刷新A页面的
在B页面中的function中直接调用A页面中的function,拿最常见的A为列表页,B为新增页来说:
A页面里有个查询按钮,可以查出所有的列表,我们在B页面中就来触发这个function即可:
function close(){ window.opener.queryAll(); //queryAll()为A页面的查询function window.close(); }
需要注意的是如果是同一页的frame A 跳到 frameB ,不是用opener,而是用parent
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》