【问题标题】:How to obtain URL that Flash movie is embedded on?如何获取嵌入 Flash 电影的 URL?
【发布时间】:2010-01-13 18:43:35
【问题描述】:

今天我试图获取我的 Flash 电影所在的 URL。

我找到了a similar question here,它是用link to Flash's LoaderInfo 方法回答的,但我不确定我是否正确使用它作为我的测试影片中的文本字段:http://leongaban.com/stackoverflow/getUrl/ 不显示 URL

更新!工作代码

我只需要这个:stage.loaderInfo.url :)

package {

import flash.display.Stage;
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.events.Event;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import FontsTest;

public class LoaderInfoExample extends Sprite 
{
    private var myTextField :TextField = new TextField();
    private var urlIs:String = "";

    public function LoaderInfoExample() {

        urlIs = stage.loaderInfo.url;
        trace(stage.loaderInfo.url);
        addEventListener(Event.ADDED_TO_STAGE, initHandler);
    }

    private function initHandler(event:Event):void {

        myTextField.defaultTextFormat = FontsTest.Arial14Bold;
        myTextField.border = true;
        myTextField.antiAliasType = flash.text.AntiAliasType.ADVANCED;
        myTextField.selectable = true;
        myTextField.mouseEnabled = true;
        myTextField.autoSize = TextFieldAutoSize.LEFT;
        myTextField.text = "Url is = "+urlIs;

        addChild(myTextField);
    }
}
}

http://leongaban.com/stackoverflow/getUrl/

【问题讨论】:

    标签: flash actionscript-3 url loaderinfo


    【解决方案1】:

    如果我的理解正确,那么你做的有点不对。您无需创建新的加载器 - .swf 包含对其自己在舞台上的 loaderInfo 对象的引用。

    因此,如果您想追踪 .swf 文件的当前位置,请执行以下操作:

    trace(stage.loaderInfo.url);
    

    这有帮助吗?

    【讨论】:

      【解决方案2】:

      如果它是您自己的 URL,则 DisplayObject 类具有您可以使用的 loaderInfo 属性。试试这个:

      myLoader = this.root.loaderInfo;
      urlIs = myLoader.loaderURL;
      

      我比较确定你正在创建的 loader 对象在你告诉它加载请求之前不会有 loaderURL(或做任何其他事情)。

      【讨论】:

        【解决方案3】:

        您需要使用onAddedToStage 而不是Event.INIT

        public function LoaderInfoExample() {
            addEventListener(Event.ADDED_TO_STAGE, initHandler);
        }
        

        然后使用root.loaderInfo

        【讨论】:

        • 需要什么导入才能使用 root 关键字?并感谢您的提示!
        • root 是 DisplayObject 的一部分,所以扩展 Sprite 就足够了。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-24
        • 1970-01-01
        • 1970-01-01
        • 2013-05-05
        • 1970-01-01
        相关资源
        最近更新 更多