如何在孩子关闭时调用父窗口的javascript函数?

bil*_*day 4 javascript javascript-events

我正在创建一个弹出窗口.在完成子项(弹出)窗口的工作并单击关闭按钮后,我需要调用父窗口的javascript函数.我怎样才能做到这一点.我不是自己创建子窗口,而是显示其他URL的内容.

Poi*_*nty 9

我不认为你可以得到一个事件,因为当URL来自不同的域时你不能弄乱文档本身.但是,您可以轮询并检查窗口对象的"已关闭"属性:

var w = window.open("http://what.ever.com", "OtherWindow");
setTimeout(function() {
  if (w.closed) {
    // code that you want to run when window closes
  }
  else
    setTimeout(arguments.callee, 100);
}, 100);
Run Code Online (Sandbox Code Playgroud)

如果您愿意,也可以启动间隔计时器:

var w = window.open("http://what.ever.com", "OtherWindow");
var interval = setInterval(function() {
  if (w.closed) {
    // do stuff
    cancelInterval(interval);
  }
}, 100);
Run Code Online (Sandbox Code Playgroud)