【发布时间】:2011-05-22 04:39:49
【问题描述】:
我正在使用以下代码来确定浏览器窗口的关闭,并且它运行良好。但是,当用户使用“F5”或单击浏览器刷新按钮刷新页面时会出现问题,即使在这种情况下也会调用相同的代码。
我想知道是否有任何方法可以使用 actionscript 区分浏览器关闭事件和刷新事件
package utils
{
import flash.external.ExternalInterface;
public class ExternalInterfaceUtil
{
public static function addExternalEventListener( qualifiedEventName:String, callback:Function,callBackAlias:String ):void
{
// 1. Expose the callback function via the callBackAlias
ExternalInterface.addCallback( callBackAlias, callback );
// 2. Build javascript to execute
var jsExecuteCallBack:String = "document.getElementsByName('"+ExternalInterface.objectID+"')[0]."+callBackAlias+"()";
var jsBindEvent:String = "function(){"+qualifiedEventName+"= function(){"+jsExecuteCallBack+"};}";
// 3. Execute the composed javascript to perform the binding of the external event to the specified callBack function
ExternalInterface.call( jsBindEvent );
}
}
}
对上述实用程序的调用由
完成ExternalInterfaceUtil.addExternalEventListener("window.onunload", handleLogout, "unloadFlex");
【问题讨论】:
-
我很确定,只要用户离开页面,HTML onunload 事件就会触发。从本质上讲,刷新页面就是离开它然后回到同一个地方。我怀疑你无能为力。为什么你只在乎一种离开的方式,而不是另一种?
-
当我关闭浏览器时,我想调用注销处理程序,但我不希望在用户刷新屏幕时发生同样的事情
标签: apache-flex actionscript adobe browser-refresh