<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,這個例子其實(shí)就是用flash做一個空殼,比如命名FPload.swf這個殼就是用來加載 flashpapaer的,里面實(shí)現(xiàn)了對flashpaper的大小設(shè)置,縮略值,頁數(shù)設(shè)置等等,注意這個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");

            }
            
    //連接源出錯
            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 閱讀(728) 評論(0)  編輯  收藏 所屬分類: JAVAflash
    主站蜘蛛池模板: 国产产在线精品亚洲AAVV| 久久大香香蕉国产免费网站| 亚州免费一级毛片| 亚洲乱码中文字幕综合234| 亚洲一卡二卡三卡| 国产精品免费高清在线观看| 免费一级国产生活片| 亚洲国产精品免费在线观看| a毛片免费全部播放完整成| 又粗又大又长又爽免费视频| 亚洲娇小性xxxx色| 97视频免费观看2区| 亚洲性猛交XXXX| 免费一级全黄少妇性色生活片 | 中文国产成人精品久久亚洲精品AⅤ无码精品| 亚洲av无码片在线观看| 久久免费观看国产精品| 在线观看亚洲天天一三视| 国产亚洲人成在线影院| 女人被弄到高潮的免费视频| 亚洲精品午夜视频| 香蕉免费一区二区三区| 亚洲人成网77777亚洲色| 特级毛片aaaa免费观看| 国产美女无遮挡免费视频| 国产人在线成免费视频| 亚洲?V乱码久久精品蜜桃| 久久乐国产综合亚洲精品| 18级成人毛片免费观看| 五月天网站亚洲小说| a级毛片在线免费| 久久久久亚洲精品男人的天堂| 羞羞视频免费观看| 国产成人免费ā片在线观看| 亚洲字幕AV一区二区三区四区| 午夜福利不卡片在线播放免费| 亚洲精品日韩中文字幕久久久| 四虎成人精品永久免费AV| 亚洲成av人在线视| 亚洲精品伦理熟女国产一区二区 | 亚洲国产美女精品久久久|