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

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

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

    posts - 495,comments - 227,trackbacks - 0
    http://my.oschina.net/Boder/blog/931

    國外有高手已經實現了IE瀏覽器內加載flashpaper,好像是這篇吧: http://www.darronschall.com/weblog/2006/11/how-to-load-flashpaper- documents-in-flex-2.cfm 這里將在他的基礎上改成利用LocalConnection來通訊,以便更好的處理來回的操作. flex load flashpaper也離不開flash,這個例子其實就是用flash做一個空殼,比如命名FPload.swf這個殼就是用來加載 flashpapaer的,里面實現了對flashpaper的大小設置,縮略值,頁數設置等等,注意這個fpload.swf是flash8的.在 flex中加載就得利用LocalConnection(如果不明白的得自己去想辦法了解了)或者例子中的ExternalInterface跟 fpload.swf通訊,去設置尺寸,大小,頁面等等 首先看flex3里面如何來加載flashpaper //com.magReader.FlashPaperLoader.as


    package com.magReader
    {

        
    import flash.events.Event;
        
    import flash.events.StatusEvent;
        
    import flash.net.LocalConnection;
    //import flash.system.System;

        
    import mx.controls.SWFLoader;

        
    /**
         * UIComponent designed specifically to load FlashPaper documents
         * and size them correctly in the available area.
         
    */
        
    public class FlashPaperLoader extends SWFLoader
        {

            
    /**
             * The id of the FlashPaperLoader.swf proxy that will be used
             * for communication pyurposes.
             
    */
            
    public static const FLASH_PAPER_LOADED    : String = "flashPaperLoaded";
            
    public static const FLASH_CONNERROR        : String = "flashConnError";
            
    private var sendFlashConn:LocalConnection;
            
    private var recieveFlashConn:LocalConnection;
            
    /**
             * The name of the application that is loading in the FlashPaperLoader.swf
             * file.  This name must correspond to the "id" attribute in the object tag
             * and the "name" attribute in the embed tag when the Flex client is embedded
             * into the html page.
             
    */

            
    /**
             * Constructor
             
    */
            
    public function FlashPaperLoader()
            {
                
    //source = "app-storage:/data/fpHolder.swf";
                sendFlashConn=new LocalConnection();
                recieveFlashConn 
    = new LocalConnection();
                recieveFlashConn.client
    =this;
                sendFlashConn.addEventListener(StatusEvent.STATUS, onStatus);
                sendFlashConn.allowDomain(
    "*");
                recieveFlashConn.allowDomain(
    "*");
                sendConn();
            }
            
    public function sendConn():void
            {
                
    try
                {
                    recieveFlashConn.connect(
    "_flexloader");
                } 
    catch (error:ArgumentError) {
                    trace(
    "Can't connectthe connection name is already being used by another SWF");
                    onConnError();
                    
    return;
                }
            }

            
    private function onStatus(result:StatusEvent) :void{

                trace (result.level 
    == "error"?"Operation failed":"Operation succeeded");

            }
            
    //連接源出錯
            private function onConnError():void
            {
                
    //errUnload();

                var e:Event
    =new Event(FlashPaperLoader.FLASH_CONNERROR);
                dispatchEvent( e );
            }

            
    // =================================================================
            
    //  Expose methods that are proxied from FlashPaperLoader.swf - Call
            
    //  JavaScript methods that the FlashPaperLoader.swf file picks up
            
    //  and passes to the loaded FlashPaper document.
            
    // =================================================================

            
    public function setSize( width:Number, height:Number ):void
            {
                trace(
    "=========setPaperSize=============");
                sendFlashConn.send(
    "_flashpaperloader","setPaperSize",width,height);
            }
            
    /**
             * 文檔加載成功提示
             * 
    */
            
    public function fpLoaded():void
            {
                trace(
    "reveice fpLoaded message!! this.width = " + this.width + " this.height" + this.height);
                
    //setSize(parent.width,parent.height);
                var e:Event=new Event(FlashPaperLoader.FLASH_PAPER_LOADED);
                dispatchEvent( e );
                
    //this.visible=true;
            }
            
    /**
             * 設置縮放
             * 
    */
            
    public function setZoom(value:Object):void
            {
                
    if (this.visible)
                {
                    sendFlashConn.send(
    "_flashpaperloader","setCurrentZoom",value);
                }
            }

    //    override protected function updateDisplayList( unscaledWidth:Number,
    //                                                   unscaledHeight:Number ):void
    //    {
    //        if ( contentHolder )
    //        {
    //            // Adjust values so the FlashPaper document is displayed correctly
    //            contentHolder.scaleX = 1.0;
    //            contentHolder.scaleY = 1.0;
    //            contentHolder.x = 0;
    //            contentHolder.y = 0;
    //    
    //            contentHolder.scrollRect = new Rectangle( 0, 0, unscaledWidth, unscaledHeight );
    //    
    //            // When the content has loaded, call the setSize method so that the
    //            // FlashPaper document sizes right in the available area
    //            if ( Loader( contentHolder ).content )
    //            {
    //                setSize( unscaledWidth, unscaledHeight );
    //                //this.setFocus();
    //            }
    //        }
    //    }

            
    //卸載此swf
            public function unload():void
            {
                
    if(sendFlashConn != null
                {
                    sendFlashConn.send(
    "_flashpaperloader","unload");
                    sendFlashConn 
    = null;
                }
                
    try
                {
                    
    if(recieveFlashConn != null
                    {
                        recieveFlashConn.close();
                        recieveFlashConn 
    = null;
                    }
                }
    catch(e:ArgumentError)
                {
                    trace(e.toString());
                    recieveFlashConn 
    = null;
                }

                unloadAndStop(
    true);
                
    //System.gc();
            }
            
    public function errUnload():void
            {
                
    if(sendFlashConn != null
                {
                    sendFlashConn.send(
    "_flashpaperloader","unload");
                    sendFlashConn 
    = null;
                }
                
    if(recieveFlashConn != null) recieveFlashConn = null;
                unloadAndStop(
    true);
                
    //System.gc();
            }

        } 
    // end class
    // end package


    posted on 2010-04-06 14:04 SIMONE 閱讀(723) 評論(0)  編輯  收藏 所屬分類: JAVAflash
    主站蜘蛛池模板: 香蕉视频在线观看免费| 精品国产亚洲第一区二区三区| 任你躁在线精品免费| 亚洲日韩激情无码一区| 中文字幕a∨在线乱码免费看 | 91成人在线免费观看| 亚洲成a人片在线观看中文动漫| 久操视频在线免费观看| 亚洲综合自拍成人| 国产卡二卡三卡四卡免费网址| 亚洲a视频在线观看| 真实乱视频国产免费观看 | 有色视频在线观看免费高清在线直播| 日韩免费高清视频网站| 免费无遮挡无遮羞在线看| 亚洲伊人久久综合影院| 野花香高清视频在线观看免费 | 亚洲中文字幕在线乱码| 久久综合九色综合97免费下载| 亚洲福利一区二区三区| 成年女人毛片免费观看97| 免费人成网站永久| 久久夜色精品国产亚洲| **真实毛片免费观看| 亚洲av无码专区在线电影天堂 | 国产无遮挡裸体免费视频在线观看 | 亚洲色欲色欲综合网站| 无限动漫网在线观看免费| 国产区图片区小说区亚洲区| 中文字幕亚洲电影| 99久久免费中文字幕精品| 亚洲精品国产av成拍色拍| 亚洲伊人久久大香线蕉综合图片| 精品无码无人网站免费视频 | 好男人视频在线观看免费看片| 亚洲av无码成人黄网站在线观看| 久久午夜免费鲁丝片| 亚洲日韩av无码中文| 国产性爱在线观看亚洲黄色一级片| 日韩人妻无码精品久久免费一| 亚洲a∨无码精品色午夜|