最近遇到一个问题,大概说明如下:<a> _blank 在父窗口新开一个窗口进行编辑操作,操作成功提示后自动关闭当前窗口,同时刷新父页面的数据,显示更新后的结果
实现js代码如下
<script>alert('修改成功!');
window.open('','_top');
window.top.close();
window.οnbefοreunlοad=function(){
window.opener.location.reload();
};
</script>
附加:
当直接用window.close()时,浏览器会弹出一个关闭提示,这样是很不友好的对客户来说。如何不提示直接关闭呢?
有如下方案:
//普通带提示关闭
function closeie(){
window.close();
}
//关闭IE6不提示
function closeie6(){
window.opener=null;
window.close();
}
//关闭IE7以上不提示
function closeie7(){
window.open('','_top');
window.top.close();
}
以上是在IE下,但是在火狐下并不兼容,找了一种兼容办法,我没有试,留着以后需要时候用
function CloseWebPage(){
if (navigator.userAgent.indexOf("MSIE") > 0) {
if (navigator.userAgent.indexOf("MSIE 6.0") > 0) {
window.opener = null;
window.close();
} else {
window.open('', '_top');
window.top.close();
}
}
else if (navigator.userAgent.indexOf("Firefox") > 0) {
window.location.href = 'about:blank ';
} else {
window.opener = null;
window.open('', '_self', '');
window.close();
}
}