Ich verwende das folgende Stück Code, um die Schließung des Browser-Fensters zu bestimmen, und es funktioniert einwandfrei. Das Problem tritt jedoch auf, wenn der Benutzer die Seite mit "F5" aktualisiert oder auf die Schaltfläche zum Aktualisieren des Browsers klickt, und selbst in diesem Fall wird derselbe Code aufgerufen.Unterscheidung zwischen F5 und Browser schließen Ereignis in Flex/ActionScript
Ich würde gerne wissen, ob es überhaupt von denen ich schließen Ereignis zwischen Browser und aktualisieren unterscheiden kann Ereignis mit 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);
}
}
}
Call oberhalb Dienstprogramm von
ExternalInterfaceUtil.addExternalEventListener gemacht wird (“ window.onunload ", handleLogout," unloadFlex ");
Ich bin ziemlich sicher, feuert die HTML onunload Ereignis, wenn der Benutzer die Seite verlässt. Die Seite zu aktualisieren ist im Wesentlichen, sie zu verlassen und direkt an denselben Ort zurückzukehren. Ich vermute, es gibt nichts, was du tun kannst. Warum interessierst du dich für einen Weg zu verlassen, aber nicht den anderen? – JeffryHouser
Wenn ich den Browser schließe, möchte ich den Abmelde-Handler aufrufen, aber ich möchte nicht die gleiche Sache passieren, wenn Benutzer den Bildschirm – Arun