我想关闭浏览器窗口,无论它是否在open
。我是javascript的新手,所以请帮我用javascript创建下面的逻辑。我的JavaScript代码在这里:
if (myWindow.open() == true) {
myWindow.close();
} else {
myWindow=window.open('http://index.html',
'popUpWindow',
'height=700,width=800,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes'
);
}
答案 0 :(得分:0)
是的,我同意Christoph
if (!myWindow.closed) {
myWindow.close();
}
更多
注意:与上述内容存在特定于浏览器的差异。 如果您使用Javascript (via window.open())
打开窗口,则可以使用javascript关闭窗口如果您在案例中有参考,那么您就有了。 Firefox不允许您关闭其他窗口。我相信IE会要求用户确认。其他浏览器可能不同。
答案 1 :(得分:0)
你接近正确的结果。
只需检查
(myWindow.closed === false) // same as (!myWindow.closed)
而不是
(myWindow.open() == true)
(因为open()
只会打开另一个窗口而你的支票会失败。)
另请注意,您需要撰写index.html
或http://sub.yourdomain.tld/index.html
,而不是http://index.html
。
答案 2 :(得分:0)
使用closed
属性检查窗口状态,但首先检查窗口对象是否已创建。
var myWindow=null;
if (myWindow && !myWindow.closed) { //exist and is not closed
myWindow.close();
myWindow=null; //delete the object
} else { //not exist or is closed
myWindow=window.open('http://index.html',
'popUpWindow',
'height=700,width=800,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes'
);
}