javascript window.close()在一种情况下有效,但在另一种情况下则不然

时间:2010-01-28 10:46:40

标签: javascript html

在这两种情况下,我都试图使用相似的代码关闭从同一父节点打开的弹出窗口。在这两种情况下,函数都在jquery $ .post方法的回调函数中调用。但是当其中一个正常工作时,另一个会抛出错误

火狐:

  
    

window.close不是函数

  

铬:

  
    

对象[object DOMWindow]的属性'close'不是函数

  

我尝试用两个简单的html文件单独执行此操作,这些文件具有最少的代码..并且它完美地运行

这是我用来打开弹出窗口的代码

<a onclick="window.open('<?php echo $personalize_href; ?>',null,'height=688,width=1000,status=no,toolbar=no,menubar=no,scrollbars=2,location=no');">

请帮忙

3 个答案:

答案 0 :(得分:1)

您可以尝试使用self代替window

self引用当前窗口,而window引用父窗口。

self实际上是一个DOMWindow对象。

答案 1 :(得分:1)

你需要保持窗口的句柄(或回收窗口的句柄......)

var myWin = window.open(uri, "myWin", "height=300, width=200");

...

myWin.close();

答案 2 :(得分:0)

谢谢Pekka ..

这就是我如何调用window.open

<a onclick="window.open('<?php echo $personalize_href; ?>',null,'height=688,width=1000,status=no,toolbar=no,menubar=no,scrollbars=2,location=no');" class="button">

通过两个不同的情况我的意思是,有一个父窗口有两个链接打开两个不同的弹出窗口...一个使用window.close关闭,另一个不关闭 我在两种情况下从弹出窗口调用window.close函数..以及其他一些代码 这是

window.close();
        if (window.opener && !window.opener.closed) {
        window.opener.location.href = 'xyz';
        }