我试图从另一个Web应用程序(基于Java Servlet的Web应用程序)打开一个窗口(Spring Web应用程序)。 两者都部署在同一服务器上(例如JBoss)。
我的要求是在JavaScript函数中,我必须打开窗口,并且执行必须等待直到窗口关闭。这是因为一旦成功(或者如果用户关闭窗口),我将返回一些信息,并且进一步执行将继续执行此返回值。
//some statements...
var win = window.open("http://localhost/webapp/");
我正在尝试以下代码。但是弹出窗口正在等待while循环结束并且不显示页面。强制关闭窗口也无济于事。
while(!win.closed){}
//some statements...
我尝试过..
var windowOpened = true;
var timer = setInterval(function(){
if(win.closed){windowOpened = false; clearInterval(timer);}
}, 500);
while(windowOpened){}
//statements that need to run after window closed...
不使用...使用递归函数..仍然是同样的问题..
我可以拆分代码
var timer = setInterval(function(){
if(win.closed){
clearInterval(timer);
//statements that need to run after window closed...
}
}, 500);
但是我想知道是否有可能。 我正在扩展一个已经存在的过程,这样可以节省重复的代码。
预先感谢
答案 0 :(得分:0)
父js代码
<script>
var myexecution = 1;
var callbackreceived = false;
console.log(myexecution);
//function to execute from child
function myFunc() {
callbackreceived = true;
alert('Continue your process')
}
window.open("http://localhost:54954/child.html");
</script>
儿童js ccode
var RunParentFunction = function () {
window.parent.myFunc();
}; window.onbeforeunload = function () { RunParentFunction(); }
您可以使用parent.myFunc
来调用