0

私は一般的な OAuth コンポーネント (はい、オープン ソースになります) を作成しており、ユーザーが htmlView (または、より正確には、そのブラウザー ウィンドウ) で閉じるウィジェットをクリックしたかどうかを検出したいと考えています。

htmlView と html.stage.nativeWindow の両方に CLOSE リスナーを配置しようとしましたが、役に立ちませんでした。

前もって感謝します

4

1 に答える 1

0

このコードは役立つかもしれません

package com.bigspaceship.core.air
{
    // flash
    import flash.display.NativeWindow;
    import flash.desktop.NativeApplication;    

    import flash.events.Event;
    import flash.events.EventDispatcher;

    public class NativeWindowManager extends EventDispatcher
    {
        private var _window            :NativeWindow;
        private var _isMainWindow    :Boolean;
        public var isQuitBlocked    :Boolean;

        public static const PROMPT    :String        = "windowQuitPrompt";

        public function NativeWindowManager($window:NativeWindow,$isMainWindow:Boolean = false):void
        {
            _window = $window;
            _isMainWindow = $isMainWindow;
            _window.addEventListener(Event.CLOSING,_windowOnClose,false,0,true);
        };

        public function get window():NativeWindow { return _window; };

        private function _mainWindowOnClose($evt:Event):void
        {
            $evt.preventDefault();

            if(isQuitBlocked) dispatchEvent(new Event(PROMPT));
            else close();
        };

        public function close():void
        {
            _window.removeEventListener(Event.CLOSING,_windowOnClose);

            if(_isMainWindow) NativeApplication.nativeApplication.exit();
            else _window.close();

            _window = null;
        };
    };
};
于 2013-01-06T01:32:46.030 に答える