Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在下面的代码中检测JavaScript的关闭事件_Javascript_Actionscript 3_Apache Flex_Window - Fatal编程技术网

在下面的代码中检测JavaScript的关闭事件

在下面的代码中检测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>

我正在尝试这个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>
        <![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>