需求
在网站开发过程中,经常会有需要通过A页面打开B页面,在B页面操作完毕后,返回到A页面并刷新B页面相关信息。
解决方式
A页面增加JavaScript公共变量进行全局控制,通过启动、停止监听事件的方法监听B页面的工作状态,根据B页面的工作状态做出对应事件响应。具体做法如下:
<script type="text/javascript">
var timer; //监听器
var winopen; //B页面的打开事件
//判断子窗口是否关闭,关闭刷新页面
function IfWindowClosed() {
//判断B页面打开事件
if (winopen.closed == true)
{
//执行A页面的相关方法操作
XXX();
//关闭监听器
window.clearInterval(timer);
}
}
//浏览B页面
function browser() {
//打开B页面并将用winopen 获取打开方法的句柄
winopen = window.open("B.html","","");
//打开监听器
timer = window.setInterval("IfWindowClosed()", 500);
}
//A页面的相关方法
function XXX(){
...
}
</script>