<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了

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲高清偷拍一区二区三区| 国产成人精品日本亚洲专| 婷婷亚洲综合五月天小说| 亚洲中文久久精品无码1 | 亚洲另类激情专区小说图片| 亚洲av日韩av无码黑人| 羞羞视频在线免费观看| 中文字幕一区二区免费| 欧洲黑大粗无码免费| 亚洲精品无码成人片久久| 亚洲精品又粗又大又爽A片| 最近中文字幕免费大全| 在线jyzzjyzz免费视频| 亚洲视频在线视频| 人妻巨大乳hd免费看| 国语成本人片免费av无码 | 亚洲精品国产福利在线观看| 爱爱帝国亚洲一区二区三区| 99久久精品国产免费| 亚洲精品无码久久久| 亚洲日本成本人观看| 97国产在线公开免费观看| 亚洲熟伦熟女新五十路熟妇| 亚洲国产日韩视频观看| 无码av免费网站| 国产亚洲精品AA片在线观看不加载 | 天堂在线免费观看中文版| 亚洲va在线va天堂va四虎 | 久久久婷婷五月亚洲97号色| 日本永久免费a∨在线视频| 拍拍拍又黄又爽无挡视频免费| 亚洲国产精品久久久久| 国内精品免费久久影院| 免费人成年激情视频在线观看 | 亚洲国产精品成人| 欧美日韩亚洲精品| 成全视频免费高清 | 亚洲狠狠狠一区二区三区| 黄网站色视频免费在线观看的a站最新| 亚洲AV无码乱码精品国产| 亚洲AV无码AV吞精久久|