您的位置:首页 > 运维架构

创建一个窗口window.open,检查窗口是否已关闭或不

2018-03-14 18:53 579 查看
<!DOCTYPE html>
<html>
<head>
<title>test</title>
<meta charset="utf-8">
</head>
<body>
<input type="button" name="sa" id="demo1" value="创建一个窗口">
<input type="button" name="sb" id="demo2" value="关闭这个窗口">

<script type="text/javascript">
var x = document.getElementById("demo1");
var y = document.getElementById("demo2");
//alert(Boolean(x));
var flag;
console.log("flag");
function mf(){
//alert(Boolean(flag));	//flag is false
if (!flag) {
flag = window.open("https://www.baidu.com","","width=800px,height=800px");

try {
flag.moveTo(20,20);//ie下不行,因此用try catch
}
catch(err) {

}
flag.focus();
}else{
if (flag.closed) {//window对象,返回窗口是否关闭
//alert(Boolean(flag));//flag is true
flag = window.open("https://www.baidu.com","","width=400px,height=400px");

try {
flag.moveTo(20,20);
}
catch(err) {

}
flag.focus();
}else{
alert("窗口已经打开");
flag.focus();
}
}
}
function yf(){
if (flag) {//如果不使用if判断,那么先点击关闭时会,报错flag is undefined
console.log("test");
flag.close();
}
}

function addHandler(element, type, handler){
if (element.addEventListener){
element.addEventListener(type, handler, false);
} else if (element.attachEvent){
element.attachEvent("on" + type, handler);
} else {
element["on" + type] = handler;
}
}
addHandler(x,"click",mf);
addHandler(y,"click",yf);
</script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐