当用户关闭(弹出)窗口时调用一些JavaScript

bcm*_*cfc 2 javascript php session

用户关闭窗口时是否可以调用一些JS?

我搜索了JS事件处理程序,发现只有onunload,每当用户离开页面时调用脚本,不一定关闭窗口.

预期用途是调用一个AJAX脚本,该脚本取消设置与弹出窗口相关的几个会话.可能有也可能没有更好的方法来实现这一目标?

我找到了这个DevShed线程,其中声明这可以通过JS实现,但它并没有解释如何调用脚本.

不幸的是,大多数谷歌搜索这个解决方案会带来window.close,这实际上与我需要的相反!

jam*_*unk 5

以下代码适用于Firefox,IE 8和"Google Chrome".

在开窗口

<script src="http://ajax.googleapis.com/ajax/libs/mootools/1.2.3/mootools-yui-compressed.js"></script>
<script>
function on_popup_close(){
  //put your code here
  alert('it closed');
}
</script>
Run Code Online (Sandbox Code Playgroud)

在弹出窗口中

<script>
function inform_parent(){
  opener.on_popup_close();
} 

window.onbeforeunload = inform_parent;
</script>
Run Code Online (Sandbox Code Playgroud)

打开窗口代码中的第一行可以是您最喜欢的框架,它实现了美元符号运算符.

在这里看我的演示