Javascript 在Internet Explorer上,将表单提交到其他URL然后返回后,window.opener将丢失
有一个弹出窗口,在加载时将其表单提交给第三方url。 用户使用第三方服务选择其地址。 当用户单击第三方服务的finish按钮时,第三方服务将用户重定向回我的原始弹出url jsp的源代码如下所示Javascript 在Internet Explorer上,将表单提交到其他URL然后返回后,window.opener将丢失,javascript,google-chrome,internet-explorer,popup,Javascript,Google Chrome,Internet Explorer,Popup,有一个弹出窗口,在加载时将其表单提交给第三方url。 用户使用第三方服务选择其地址。 当用户单击第三方服务的finish按钮时,第三方服务将用户重定向回我的原始弹出url jsp的源代码如下所示 <% String inputYn = request.getParameter("inputYn"); String roadFullAddr = request.getParameter("roadFullAddr"); String roadAddrP
<%
String inputYn = request.getParameter("inputYn");
String roadFullAddr = request.getParameter("roadFullAddr");
String roadAddrPart1 = request.getParameter("roadAddrPart1");
String roadAddrPart2 = request.getParameter("roadAddrPart2");
String engAddr = request.getParameter("engAddr");
String jibunAddr = request.getParameter("jibunAddr");
String zipNo = request.getParameter("zipNo");
String addrDetail = request.getParameter("addrDetail");
String admCd = request.getParameter("admCd");
String rnMgtSn = request.getParameter("rnMgtSn");
String bdMgtSn = request.getParameter("bdMgtSn");
%>
function init(){
var url = location.href;
var confmKey = "serviceKeyIssuedBytheThirdParty";
var inputYn= "<%=inputYn%>";
if(inputYn != "Y"){
document.form.confmKey.value = confmKey;
document.form.returnUrl.value = url;
document.form.action="http://www.somethirdpartyservice.do";
document.form.submit();
}else{
try {
opener.jusoCallBack("<%=roadFullAddr%>","<%=roadAddrPart1%>","<%=addrDetail%>","<%=roadAddrPart2%>","<%=engAddr%>","<%=jibunAddr%>","<%=zipNo%>", "<%=admCd%>", "<%=rnMgtSn%>", "<%=bdMgtSn%>");
} catch (err) {
alert(err.description || err) //or console.log or however you debug
}
window.close();
}
}
问题是,它在Google Chrome上运行得很好,但我得到一个错误,它说无法获取未定义或空引用的属性'jusoCallBack'
我进行了实验,以便在将表单提交给第三方URL之前,在第一次加载弹出窗口时启动函数jusoCallBack
。
弹出窗口发现它的开启器很好,并且启动了函数jusoCallBack
在我看来,由于某种原因,弹出窗口在导航到第三方URL后丢失了开场白信息
但它在谷歌浏览器上运行得很好。所以我不太确定
即使在弹出窗口导航到另一个URL后,弹出窗口是否应该记住开启者是谁?或者弹出窗口丢失其开启者是否正常
function jusoCallBack(roadFullAddr,roadAddrPart1,addrDetail,roadAddrPart2,engAddr, jibunAddr, zipNo, admCd, rnMgtSn, bdMgtSn){
console.log("jusoCallBack");
document.form.newAddress.value += roadFullAddr;
}