在使用js弹出子页面并在关闭子页面的时候刷新父页面的时候遇到不能刷新的问题,为这个事郁闷了好久,在网上找相关的资料基本上都是使用window.opener.location.href=window.opener.location.href;但是在我使用的时候就出现“window.opener.location为空或不是对象”的错误提示,在郁闷一下午加半上午终于找到问题的所在了,所有赶快记下来,免得以后忘记了:
首先:弹出子窗口如果使用的是:
window.showModalDialog(url,"选择查询内容",'dialogWidth=250px;dialogHeight=600px;center:1;scroll:1;help:0; status:0');
就会出现上面我说的那种情况
应该使用:
window.open(url, "选择查询内容","height=600, width=250, top=100, left=200,z-look=yes,toolbar=no, menubar=no, scrollbars=yes, resizable=no ,alwaysRaised=yes, location=no, status=no" );
另外补充一点,如果想要在关闭子窗体的时候刷新父窗体并且页面没有关闭按钮,捕捉子窗体的关闭事件的话可以用如下方法:
<script language="JavaScript"type="text/javascript">
<!--
function refresh()
{
window.opener.location.href=window.opener.location.href;
window.close();
}
--></script>
</head>
<base target="_self" />
<body onunload="refresh()">
//..................
</body>