我有一个父页面,其中添加了搜索功能。
如下所示
function FunClick(StrPriCaption) {
var StrPriHTML = "";
if (StrPriCaption == 'AdvSearch') {
//document.getElementById('TxtCondition').value = "AdvSearch";
//form1.submit();
var StrPriReturnValue = "";
window.open('FrmInwardHdrAdvanceSearch.aspx', null, 'height=370,width=630,top=0,left=0,resizable=yes,scrollbars=yes');
}
}
它完美无缺。它会打开一个弹出窗口页面供我搜索。
但现在我想要的是,如果我关闭弹出窗口,我想刷新父页面。
我尝试使用子页面中的以下代码,但它没有刷新父页面。
function CloseWindow() {
window.close();
window.opener.location.reload();
}
如何使用Javascript执行此操作?
答案 0 :(得分:8)
方法1
<script>
function popup() {
var win = window.open("", "Page Title", "toolbar=no, location=no");
win.document.body.innerHTML = '<a href="#" onclick="window.opener.location.reload();window.close();">Close Me</a>';
}
</script>
<a href="#" onclick="popup()">Open Me</a>
它会创建一个弹出窗口,其中包含一个关闭窗口并刷新父窗口的链接。
演示:https://jsfiddle.net/eke4f72r/
方法2
<script>
function popup() {
var win = window.open("", "Page Title", "toolbar=no, location=no");
var win_timer = setInterval(function() {
if(win.closed) {
window.location.reload();
clearInterval(win_timer);
}
}, 100);
}
</script>
<a href="#" onclick="popup()">Open Me</a>
它从父窗口检测子项是否已关闭。如果为true,则重新加载页面。
演示:https://jsfiddle.net/gv6nmdn9/
编辑使用方法1时,让您的父母打开您想要的弹出窗口,然后将其添加到您的孩子中:
<a href="#" onclick="window.opener.location.reload();window.close();">Close Me</a>
答案 1 :(得分:0)
在父页面中检测到它:
iframe=window.open("");
iframe.onclose=function(){
window.location="redirect";
};