事件: closed

触发:窗口关闭后,如A窗口监听着B窗口的关闭事件,B窗口关闭时将触发本事件

如果你只在一个窗口处理 closed,并不能得到该事件,因为 closed后,所有js对象均被释放.

但在另一个窗口中监听此窗口的 closed时,那么js对象就不会被释放并将触发此窗口的 closed.

  1. // 打开一个新窗口
  2. nw.Window.open('popup.html', {}, function(win) {
  3. // 新窗口关闭后释放'win'对象
  4. win.on('closed', function() {
  5. win = null;
  6. });
  7.  
  8. // 监听主窗口的`close`事件
  9. nw.Window.get().on('close', function() {
  10. // 关闭时先进行隐藏以让用户觉得立即关闭
  11. this.hide();
  12.  
  13. // 虽然关了,但实际上它还在工作
  14. if (win != null)
  15. win.close(true);
  16.  
  17. // 关闭新窗口也关闭主窗口
  18. this.close(true);
  19. });
  20.  
  21. });