简介
现在我要在IE中弹出一个新的页面(没有地址栏,状态栏,工具条,菜单栏等),并且在页面关闭之后还要触发一个事件
打开页面
利用 window.open() 来打开一个新的页面,虽然设置了系类参数,可是打开的页面仍有地址栏,状态栏等,经查阅资料和询问高工及架构师,出于安全性考虑,ie禁止打开无地址栏状态栏的网址,但是可以通过设置ie的配置,和把ip地址加入到信任站点即可解决这个问题。
var win = window.open("", "_blank", "fullscreen=no,location=no,scrollbars=no,menubar=no,toolbar=no,status=no,resizable=yes,height=1000,width=932,left=1000,top=20");
win.location=removeHtmlTab(result.fxzbUrl) + "&hideButton=false";
window.setInterval(function(){
if(win.closed){
enableAndNoLoadingBtn("buttonAxSubmit");
currClickBtn = "buttonAjjbxxSubmit";
Artery.get("buttonFxzbCallback").click();
clearInterval(win);
}
}, 500);
return;
window.open()参数下面网址
https://www.runoob.com/jsref/met-win-open.html
回调事件
这样设置之后,发现页面不久之后就会自动崩溃,而且当打开的页面关闭之后,原页面的按钮并没有从不可编辑状态变为可编辑状态,debug调试,发现这里一直没有办法退出,最后发现是清除定时操作的对象有错
window.setInterval(function(){
if(win.closed){
enableAndNoLoadingBtn("buttonAjjbxxSubmit");
currClickBtn = "buttonAxSubmit";
Artery.get("buttonFbCallback").click();
clearInterval(win);//这里不应该对win进行清除
}
}, 500);
经修改,最终版本如下
var win = window.open("", "_blank", "fullscreen=no,location=no,scrollbars=no,menubar=no,toolbar=no,status=no,resizable=yes,height=1000,width=932,left=1000,top=20");
win.location=removeHtmlTab(result.fxzbUrl) + "&hideButton=false";
var interval = window.setInterval(function(){
if(win.closed){
enableAndNoLoadingBtn("buttonAxSubmit");
currClickBtn = "buttonAxSubmit";
Artery.get("buttonFbCallback").click();
clearInterval(interval);
}
}, 500);
return;