例如: var sysMan:SystemManager = Application.application.systemManager; sysMan.removeEventListener(FlexEvent.IDLE, timeoutHandler); // timeout after twenty seconds public var timeout:Number = 20000; private var timeoutTotal:Number = 0; private var timeoutLastCall:Number; public var sessionExpired:Boolean = false; public var enableTimeout:Boolean = true; private function timeoutHandler(event:FlexEvent):void { // get current time var curTime:int = getTimer(); var timeDiff:int = 0; if (isNaN(timeoutLastCall)) { timeoutLastCall = curTime; } timeDiff = curTime - timeoutLastCall; timeoutLastCall = curTime; // if time has passed since the idle event we assume user is interacting // reset time total - otherwise increment total idle time if (timeDiff > 1000) { timeoutTotal = 0; } else { // update time // the status field will not be updated unless the application is idle // it is only display a countdown for learning purposes timeoutTotal += 100; status.text = "Timeout in " + String(Number((timeout - timeoutTotal)/1000).toFixed(0)) + " seconds"; } // if the total time of inactivity passes our timeout // and the session already hasn't expired then logout user if (timeoutTotal > timeout && !sessionExpired) { // logout user // or set flag sessionExpired = true; status.text = "timeout threshold has been reached"; //當(dāng)時間超過之后執(zhí)行的語句 sessionTimeoutHandler(); } }