<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    TWaver - 專注UI技術

    http://twaver.servasoft.com/
    posts - 171, comments - 191, trackbacks - 0, articles - 2
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    有好多同學問當瀏覽器關閉時, Flex如何能得到通知, 提醒用戶保存數據. 這是個很普遍的問題, 下面就演示一下如何做.

    Flex無法知道瀏覽器何時關閉, 但javascript可以(window.onbeforeunload), 所以思路就是:
    1. Flex提供方法, 能讓javascript調用, 以便在瀏覽器關閉時, 判斷是否有數據需要保存, 如果有, 就提示, 沒有就啥都不干<?xml version="1.0" encoding="utf-8"?>

    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal"
                    xmlns:tw
    ="http://www.servasoftware.com/2009/twaver/flex"
                    creationComplete
    ="init();" paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0">
        
    <mx:Script>
            
    <![CDATA[
                
    import mx.controls.Alert;

                
    import twaver.*;
                
    import twaver.network.interaction.InteractionEvent;

                
    private var box:ElementBox = new ElementBox();

                
    private function init():void {
                    
    this.initBox();
                    
    // Add callback, javascript use it to check whether popup message when browser is closing
                    ExternalInterface.addCallback("needSave", needSave);
                    
    // Enable save location button once location changed
                    network.addInteractionListener(function(e:InteractionEvent):void {
                        
    if(InteractionEvent.LAZY_MOVE_END == e.kind
                                
    || InteractionEvent.LIVE_MOVE_END == e.kind) {
                            
    if(!btnSave.enabled){
                                btnSave.enabled 
    = true;
                            }
                        }
                    });
                }

                
    private function initBox():void {
                    var from:Node 
    = new Node();
                    from.name 
    = "From";
                    from.location 
    = new Point(100200);
                    box.add(from);

                    var to:Node 
    = new Node();
                    to.name 
    = "To";
                    to.location 
    = new Point(400500);
                    box.add(to);

                    box.add(
    new Link(from, to));
                    
    this.network.elementBox = box;
                }

                
    private function save():void {
                    saveData();
                    btnSave.enabled 
    = false;
                }

                
    private function saveData():void {
                    Alert.show(
    "Data saved");
                }

                
    public function needSave():Boolean {
                    
    return btnSave.enabled;
                }
            ]]
    >
        
    </mx:Script>
        
    <mx:VBox width="100%" height="100%">
            
    <mx:HBox width="100%">
                
    <mx:Button id="btnSave" label="Save Location" click="save()" enabled="false"/>
            
    </mx:HBox>
            
    <tw:Network id="network" width="100%" height="100%"/>
        
    </mx:VBox>
    </mx:Application>

     

     2. html頁面添加window.onbeforeunload事件, 判斷如果Flex有內容要保存, 就彈出提示:
    <script>
        window.onbeforeunload = function (evt) {
            var demo = document.demo || window.demo;
            if (demo.needSave()) {
                var message = 'You did not save your data. Do you really want to quit?';
                if (!evt) {
                    evt = window.event;
                }
                if (evt) {
                    evt.returnValue = message;
                }
                return message;
            }
        }
    </script>
    完整代碼見附件:TestWindowClose

    評論

    # re: 瀏覽器關閉時, 如何提醒用戶保存Flex上的拓撲數據  回復  更多評論   

    2012-03-01 09:17 by 彈弓
    樓主不是用的360瀏覽器吧

    # re: 瀏覽器關閉時, 如何提醒用戶保存Flex上的拓撲數據  回復  更多評論   

    2012-03-01 09:51 by 我是看評論的
    樓上的, 我笑了, 明明是safari, 怎么成360了

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: jizz在线免费播放| yy6080亚洲一级理论| 日本免费中文字幕在线看| 亚洲尹人香蕉网在线视颅| 亚洲精品无码高潮喷水A片软| 97碰公开在线观看免费视频| 日韩高清免费观看| 亚洲欧洲日产国产综合网| 免费黄色电影在线观看| 中文有码亚洲制服av片| 国产桃色在线成免费视频| 亚洲中文字幕无码中文| 国产福利免费在线观看| 人人爽人人爽人人片A免费| 国产高清免费视频| 亚洲乱亚洲乱妇无码| 免费在线观看a级毛片| 亚洲AV成人噜噜无码网站| 免费看韩国黄a片在线观看| 亚洲国产精品无码久久一线| 久久久久久久岛国免费播放| 亚洲A∨午夜成人片精品网站| 羞羞视频在线观看免费| 亚洲女初尝黑人巨高清| 亚洲高清中文字幕| 91在线视频免费看| 日韩在线一区二区三区免费视频| 欧洲黑大粗无码免费| 国产亚洲综合精品一区二区三区| 韩国免费A级毛片久久| 亚洲av日韩av不卡在线观看| 免费福利网站在线观看| 亚洲精品国产成人| 日本免费v片一二三区| a色毛片免费视频| 7777久久亚洲中文字幕| ZZIJZZIJ亚洲日本少妇JIZJIZ| 性无码免费一区二区三区在线| 亚洲中文字幕AV每天更新| 亚洲中文字幕久久精品无码APP| 男人和女人高潮免费网站|