打开和关闭javascript窗口

时间:2012-07-18 11:17:57

标签: javascript html html5

我想关闭浏览器窗口,无论它是否在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'
                         );
}

3 个答案:

答案 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.htmlhttp://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'
                        );
}