-1

我有一个 JSP 文件,其中包含以下 javascript

<script type="text/javascript" language="javascript">
    window.opener.myfunction();
    window.close();
</script>

这适用于 Chrome、Firefox 上的文件。它也适用于我在 VMWare 虚拟机中运行的 Internet Explorer 8 和 9。但是,用户报告了一个错误,结果是 window.opener 不起作用并且 myfunction 没有被调用。用户也使用 IE9,但在本机 Windows 机器上运行。

我的问题是为什么它适用于我的 IE9 而不是他的?任何 IE 设置都会导致这种情况吗?

非常感谢

4

2 回答 2

0

这是一个例子...... http://jsfiddle.net/KjBj3/6/

显然,您的弹出页面中将包含标记,但您得到了漂移......

var win = window.open("", "win","width=200,height=100");
win.document.write('<a href="#" id="close" onclick="window.close();">This is myWindow!</a>');
win.focus();
win.opener.document.write('<p>This is the source window!</p>');
于 2012-10-26T12:37:34.290 回答
0

我不知道window.opener,如果您可以修改开启代码,则不需要。考虑这个复制功能的代码:

w2 = window.open(...);
w2.opener = window;

如果开瓶器是你的,让它自己指定为任何打开的窗口的开瓶器。如果你担心并发,如果还没有设置开启器,你可以在打开的窗口中休眠:

<script type="text/javascript" language="javascript">
    (function f(){
      if(window.opener){
        window.opener.myfunction();
        window.close();
      }else{
        setTimeout(f,1); //1ms should be enough. If not, wait again.
      }
    })()
</script>
于 2012-10-26T12:52:20.113 回答