事件: closed
触发:窗口关闭后,如A窗口监听着B窗口的关闭事件,B窗口关闭时将触发本事件
如果你只在一个窗口处理 closed
,并不能得到该事件,因为 closed
后,所有js对象均被释放.
但在另一个窗口中监听此窗口的 closed
时,那么js对象就不会被释放并将触发此窗口的 closed
.
- // 打开一个新窗口
- nw.Window.open('popup.html', {}, function(win) {
- // 新窗口关闭后释放'win'对象
- win.on('closed', function() {
- win = null;
- });
- // 监听主窗口的`close`事件
- nw.Window.get().on('close', function() {
- // 关闭时先进行隐藏以让用户觉得立即关闭
- this.hide();
- // 虽然关了,但实际上它还在工作
- if (win != null)
- win.close(true);
- // 关闭新窗口也关闭主窗口
- this.close(true);
- });
- });