<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

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

            }
            
    //連接源出錯(cuò)
            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;
            }
            
    /**
             * 設(shè)置縮放
             * 
    */
            
    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 閱讀(722) 評(píng)論(0)  編輯  收藏 所屬分類: JAVAflash
    主站蜘蛛池模板: 精品熟女少妇a∨免费久久| 亚洲中文无码a∨在线观看| 亚洲熟妇无码八V在线播放| 57pao国产成视频免费播放| 亚洲av鲁丝一区二区三区| 大地资源中文在线观看免费版 | 久久亚洲免费视频| 亚洲成AV人片天堂网无码| GOGOGO免费观看国语| 亚洲色自偷自拍另类小说| a一级爱做片免费| 一本久久a久久精品亚洲| 91在线视频免费观看| 久久91亚洲人成电影网站| 中文精品人人永久免费| 亚洲国产另类久久久精品| 一级做a爰全过程免费视频| 久久亚洲AV成人无码软件| 波多野结衣在线免费视频| 亚洲真人无码永久在线观看| 毛片免费全部免费观看| 日韩色视频一区二区三区亚洲| 日韩精品成人亚洲专区| 国产在线观a免费观看| 亚洲精品自产拍在线观看动漫| 91高清免费国产自产拍2021| 国产99在线|亚洲| 国产jizzjizz免费视频| 中文字幕免费播放| 亚洲精品在线播放视频| 四虎影视免费在线| a级毛片黄免费a级毛片| 亚洲免费视频网址| 亚洲国产香蕉人人爽成AV片久久 | 亚洲综合久久1区2区3区| 免费无码又爽又刺激高潮的视频 | 韩国免费一级成人毛片| 亚洲AV无码一区二区大桥未久| MM131亚洲国产美女久久| 99久久人妻精品免费一区| 亚洲国产成人AV网站|