我有两个需要运行的代码,我们称它们为代码A和代码B。 我想做的是运行代码A,然后使用结果中的信息运行代码B,并在新选项卡中打开代码B的结果,然后将父窗口重定向到希望页面。 我的问题是我在父窗口中有一个弹出窗口,其中包含两个按钮(是和否),作为对“您是否要运行代码B?”问题的答案。 如果是,我需要执行上面提到的操作,否则,我只需运行代码A并重定向到我能够完成的主页。
这是我的代码在我的程序中的布局方式:
$("#confirmationButton").on('click', function(){
openPopUp('Confirmation');
$("#skipCodeB").on('click', function(){
closePopUp('Confirmation');
submitForm('confirmRequestFolder','pdf',false,'action','backHome');// run code A and redirect to home page
});
$("#runCodeB").on('click', function(){
var flag = false ;
var home =$("#path").val();
closePopUp('Confirmation');
$('#pdf').val(true); //allows me to know on my controller that code B has been requested (which is a pdf file BTW)
$("#confirmRequestFolder").attr('target','_blank');
$("#confirmRequestFolder").submit();
});
});
然后回到我的控制器中,我运行代码A,检查pdf是否为true,然后像这样在我的控制器中重定向到我的代码B方法的链接:
{ Code A.......
.......
....
}
if (getRequestFolderForum().getPdf())
{
model =new ModelAndView(new
RedirectView("/home/transactionPDF"));
}else{
model = new ModelAndView("redirect:/home");
}
return model;
我已经尝试过window.focus(),window.location.href,window.top.location.href ... 没有任何效果。到目前为止,这段代码打开了新选项卡并成功运行了代码B,但是在关闭弹出窗口后,父窗口被卡在了初始页面上,并且不会重定向到首页。