我在2个不同的应用程序中有2个父窗口(a.js和b.js)(没有安全问题)。他们都打开相同的子窗口(c.js)。在a.js中,使用
打开子窗口function a(empid){
window.showModalDialog("c.jsp", self, "dialogWidth:200px;dialogHeight:200px;scroll:no;help:no;status:no;");
}
function parentRefresh(){
size.refresh();
}
b.js
中的 c .js
使用window.open
function b(){
window.open(someurl,"empinfo", width=1050,height=700,left=0,top=0);
}
function getEmpinfo(empId){
}
c.js
中的
var parentWin // this refers to a.js
function closeParents(){
if(window.opener.parent.document.title=="AAA" && !window.opener.closed){
window.opener.getEmpinfo(empId);
window.close();
}else{
parentWin.setTimeout("parentRefresh()", 1);
self.close();
}
}
<body scroll="no" onload="load();" onbeforeunload="closeParents();">
父a.js和子c.js在同一个应用程序中。 b.js的用途不同。当我从b.js打开C.js(它获取b.js中的方法)但它没有得到方法parentRefresh()时它工作正常。我不确定是否有一个父窗口用window.open打开而另一个用showModaldialog打开。我无法将showmodaldialog更改为window.open。有任何想法吗?我只能使用javascript,没有jquery。谢谢你的帮助。