关闭弹出窗口并刷新父页面javascript
我想关闭弹出窗口并刷新父项,但在几秒钟延迟后,以确保所有数据都已收到。目前我有以下几点关闭弹出窗口并刷新父页面javascript,javascript,timeout,salesforce,Javascript,Timeout,Salesforce,我想关闭弹出窗口并刷新父项,但在几秒钟延迟后,以确保所有数据都已收到。目前我有以下几点 function closeAndRefresh(){ setTimeout(function() { window.open('/{!currSubId}','_top'); window.location = window.location.href; return true; },5000)} 此代码刷新父窗口,但在弹出窗口内部,因此弹出窗口不会关闭,而父窗口显示刷新的弹出窗口
function closeAndRefresh(){
setTimeout(function()
{
window.open('/{!currSubId}','_top');
window.location = window.location.href;
return true;
},5000)}
此代码刷新父窗口,但在弹出窗口内部,因此弹出窗口不会关闭,而父窗口显示刷新的弹出窗口,因此将弹出窗口移到超时之外,为其命名,调用close,然后重新加载
function closeAndRefresh(){
var winPop = window.open('/{!currSubId}','_top'); //load pop up give it a name
window.setTimeout(function(){
winPop.close(); //close pop up
window.location.reload(true); //refresh current page
},5000);
}
您可以只使用对服务器的Ajax调用,而不必处理弹出窗口,不知道弹出窗口拦截器是否会阻止它,也不知道调用是否完成。当通话结束后,您可以重新加载页面。为什么弹出窗口在超时时间内?好的想法是关闭和刷新在超时时间内。因此,您将关闭代码放在内部,弹出窗口放在外部。感谢您的快速回答,但是,这会关闭弹出窗口,但在5秒钟后不会刷新(或者不等待5秒刷新)如果弹出窗口关闭,它应该重新加载当前页面。控制台中有错误吗?但我希望它在几秒钟后重新加载,因此我确信它收集了所有数据(大约需要3秒).无控制台错误我不确定代码为什么不工作,它应该重新加载运行代码的页面。因为它正在弹出页面上运行-我很抱歉。如果我不清楚,我很抱歉。