确定是否从Web服务器调用

时间:2012-04-05 04:52:27

标签: actionscript-3 flex

我可以在Flex / AS3中调用什么来告诉我flex-app / web页面是在本地文件系统中执行还是从webserver(localhost或某个远程服务器)提供。希望这很清楚。如果Javascript中的某些内容是可以接受的,但某些AS3功能当然更可取。

2 个答案:

答案 0 :(得分:1)

您可以使用ExternalInterface获取应用的当前网址,并评估该方案的字符串:

文件:///
HTTP://
HTTPS://

<?xml version="1.0" encoding="utf-8"?>
<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"
               creationComplete="creationCompleteHandler(event)">

    <fx:Script>
        <![CDATA[
            import mx.events.FlexEvent;

            protected function creationCompleteHandler(event:FlexEvent):void
            {
                trace(String(ExternalInterface.call(" function(){ return document.location.href.toString();}")));
            }
        ]]>
    </fx:Script>

</s:Application>

答案 1 :(得分:0)

Application类有一个属性:url

url:String [只读]​​

语言版本:ActionScript 3.0
产品版本:Flex 4
运行时版本:Flash Player 10,AIR 1.5

加载此应用程序的SWF文件的URL。

实施
public function get url():String