//弹出窗口:var openWin = window.open(url, name, "top=100,left=100,width=100,height=100,menubar=no,toolbar=no,location=no,status=yes,resizable=yes");
方法一:循环检查窗口是否关闭
var winLoop = setInterval(function() {
if(openWin.closed) {
clearInterval(winLoop);
alert("closed"); ...
}
}, 1000);
方法二:onbeforeunload事件(刷新与关闭都会触发)
window.onbeforeunload =function() {
alert("closed");
//window.opener.parentFunction();调用父画面方法
...
}或
$(window).on("beforeunload", function(e) {
alert("closed");
...
});刷新不调用onbeforeunload
window.onbeforeunload = function(){
var n = window.event.screenX - window.screenLeft;
var b = n > document.documentElement.scrollWidth-20;
if(b && window.event.clientY < 0 || window.event.altKey)
{
alert("是关闭触发而非刷新");
}else{
alert("是刷新触发而非关闭");
}
}
参数说明:window.open(pageURL,name,parameters)
pageURL:打开指定的页面的URL,可选。如果没有指定URL,打开一个新的空白窗口
name:窗口的名称,可选。指定target属性或窗口的名称。支持以下值:
- _blank - URL加载到一个新的窗口。这是默认
- _parent - URL加载到父框架
- _self - URL替换当前页面
- _top - URL替换任何可加载的框架集
- name - 窗口名称
parameters:为窗口参数,可选。一个逗号分隔的项目列表。支持以下值:
- 参数 | 取值范围 | 说明
- alwaysLowered | yes/no | 指定窗口隐藏在所有窗口之后
- alwaysRaised | yes/no | 指定窗口悬浮在所有窗口之上
- depended | yes/no | 是否和父窗口同时关闭
- directories | yes/no | Nav2和3的目录栏是否可见
- height | pixel value | 窗口高度
- hotkeys | yes/no | 在没菜单栏的窗口中设安全退出热键
- innerHeight | pixel value | 窗口中文档的像素高度
- innerWidth | pixel value | 窗口中文档的像素宽度
- location | yes/no | 位置栏是否可见
- menubar | yes/no | 菜单栏是否可见
- outerHeight | pixel value | 设定窗口(包括装饰边框)的像素高度
- outerWidth | pixel value | 设定窗口(包括装饰边框)的像素宽度
- resizable | yes/no | 窗口大小是否可调整
- screenX | pixel value | 窗口距屏幕左边界的像素长度
- screenY | pixel value | 窗口距屏幕上边界的像素长度
- scrollbars | yes/no | 窗口是否可有滚动栏
- titlebar | yes/no | 窗口题目栏是否可见
- toolbar | yes/no | 窗口工具栏是否可见
- width | pixel value | 窗口的像素宽度
- z-look | yes/no | 窗口被激活后是否浮在其它窗口之上
具体详情可看:https://developer.mozilla.org/zh-CN/docs/Web/API/Window/open