【问题标题】:Flash builder basic - Trying to load the air.swf fileFlash builder basic - 尝试加载 air.swf 文件
【发布时间】:2011-08-24 09:19:29
【问题描述】:

我创建了一个新的 Flex 项目,并在 .mxml 文件中有以下代码。

<?xml version="1.0"?>
<!-- usingas/StatementSyntax.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="doSomething()">
    <mx:Script><![CDATA[
        var airSWF:Object; // This will be the reference to the main class of air.swf
        var airSWFLoader:Loader = new Loader(); // Used to load the SWF
        var loaderContext:LoaderContext = new LoaderContext(); 
        // Used to set the application domain domain

        loaderContext.applicationDomain = ApplicationDomain.currentDomain;

        airSWFLoader.contentLoaderInfo.addEventListener(Event.INIT, onInit);
        airSWFLoader.load(new URLRequest("http://airdownload.adobe.com/air/browserapi/air.swf"), 
            loaderContext);

        function onInit(e:Event):void 
        {
            airSWF = e.target.content;
        }
    ]]></mx:Script>

    <mx:Label id="label1"/>

</mx:Application>

这些是错误:

1120:访问未定义的属性 airSWFLoader。 WebTry.mxml /WebTry/src 第 12 行 Flex 问题

1120:访问未定义的属性 loaderContext。 WebTry.mxml /WebTry/src 第 10 行 Flex 问题

这个想法是能够让air.swf文件在上面的代码中工作,以检测我们的air应用程序是否安装,从浏览器启动air应用程序等。

【问题讨论】:

    标签: air flash mxml flash-builder


    【解决方案1】:

    好吧,没有人回答,但这是解决方案!

    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
                               xmlns:s="library://ns.adobe.com/flex/spark" 
                               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
                               creationComplete="init()" >
    
            <fx:Script>
                    <![CDATA[
    
                            public function init():void {
                                    _loader = new Loader();
                                    var loaderContext:LoaderContext = new LoaderContext();
                                    loaderContext.applicationDomain = ApplicationDomain.currentDomain;
                                    _loader.contentLoaderInfo.addEventListener(Event.INIT, onInit);
                                    _loader.load(new URLRequest(BROWSERAPI_URL_BASE + "/air.swf"), loaderContext);
                            }
    
                            private function onInit(e:Event):void {
                                    _air = e.target.content;
                                    launchButton.enabled = true;
                            }
    
                            private function onButtonClicked(e:Event):void {
                                    **_air.launchApplication( APP_ID,PUB_ID, ANY_ARGS) );**
                            }
    
                            private const BROWSERAPI_URL_BASE: String = "http://airdownload.adobe.com/air/browserapi";
                            private var _loader:Loader;
                            private var _air:Object;
                    ]]>
            </fx:Script>
    
    
            <s:Button id="launchButton" x="10" y="175" label="Launch Application"
                              click="onButtonClicked(event)" enabled="false"/>
    
    </s:Application>
    

    请替换**之间的项目

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-29
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      • 2018-11-30
      • 1970-01-01
      相关资源
      最近更新 更多