当人们关闭浏览器时发送Flash事件

时间:2010-10-28 18:43:05

标签: flash actionscript-3 actionscript

我有一个RTMP流加载,想知道视频的下载时间。有没有办法通过关闭窗口,后退按钮,地址栏等来了解一个人突然离开视频会话的时间?

或者我是否需要使用onunload& amp;等内容从JavaScript到Flash进行外部接口调用? onbeforeunload事件?

我猜它是后者,但是想知道是否有一种方法可以将我的所有代码保存在AS3中。

由于

2 个答案:

答案 0 :(得分:0)

您是否考虑过从flash.events.NetStatusEvent对象听取以下事件:NetConnection

我在Adobe's forum上看到NetStatusEvent事件可能是解决方案的一部分,尽管在所有情况下似乎都不够。有人提到ping功能或数据库日志找出客户端何时断开连接。

我会尝试将NetStatusEvent功能与Javascript侦听器结合使用。

答案 1 :(得分:0)

我所知道的唯一方法是使用JavaScript,但您可以通过在您的AS3中嵌入JavaScript来避免依赖外部脚本,然后通过ExternalInterface使用document.write,例如:

var script:XML = <javascript>
    <![CDATA[
        window.onbeforeunload = function() { 
            [do flash callback here] 
        }
    ]]>
</javascript>;
ExternalInterface.call("document.write", '<script type="text/javascript">' + javascript.toString() + '</script>');