在下面的代码中检测JavaScript的关闭事件
我正在尝试这个FlexJavaScript通信示例 但我无法做到这一点。有人能帮我吗 这是我的密码: main.mxml在下面的代码中检测JavaScript的关闭事件,javascript,actionscript-3,apache-flex,window,Javascript,Actionscript 3,Apache Flex,Window,我正在尝试这个FlexJavaScript通信示例 但我无法做到这一点。有人能帮我吗 这是我的密码: main.mxml <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" minWidth="955" minHeight="600"> <mx:Script>
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" minWidth="955" minHeight="600">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
private function callJavaScriptFunction():void {
if(ExternalInterface.available)
{
ExternalInterface.call("myBasicFunction");
}
else
{
Alert.show("ExternalInterface unavailable");
}
}
]]>
</mx:Script>
<mx:Button label="click" click="callJavaScriptFunction()" x="200" y="200"/>
</mx:Application>
有两种可能性 您可以通过调用
checkOpen
var win;
function myBasicFunction() {
win = window.open('','','width=200,height=100');
}
function checkOpen () {
if (win.closed == true) {
alert("Window closed");
} else {
alert("window still open");
}
}
或者,您可以在打开的文档上添加卸载事件处理程序,并在卸载事件处理程序中使用window.opener.closedHandler()
调用父窗口上的函数
主窗口的代码
function myBasicFunction() {
window.open('','','width=200,height=100');
}
function myWindowClosedHandler() {
// code here
}
打开的窗口的代码可能如下所示
<body unload="onUnloadHandler">
<script>
function onUnloadHandler()
{
window.opener.myWindowClosedHandler();
}
</script>
函数onUnloadHandler()
{
window.opener.myWindowClosedHandler();
}
function myBasicFunction() {
window.open('','','width=200,height=100');
}
function myWindowClosedHandler() {
// code here
}
<body unload="onUnloadHandler">
<script>
function onUnloadHandler()
{
window.opener.myWindowClosedHandler();
}
</script>