【问题标题】:How do I add an event to URLLoader Class?如何向 URLLoader 类添加事件?
【发布时间】:2012-01-02 23:13:26
【问题描述】:

考虑到 Actionscript 3 事件 HTTPStatusEvent:HTTP_RESPONSE_STATUS,它仅适用于 AIR(而非 Flash 9/10)

来自网站的报价:

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Lite 4

我想通过扩展 Actionscript 3 for Flash (9/10) 的 HTTPStatusEvent 类 来添加相同的 EVENT。

我正在开发 Adob​​e Flash CS3,我正在尝试获取 URL 加载器的“最后”位置(我正在调用带有 header("Location: ..."); 的 php)所以我需要更改后的位置。这应该直接由flash制作,我不能使用php代理而不是其他。

另外,我找不到获取事件所需的 AIR HTTPStatusEvent 类的源代码(特别是 AIR 类具有的 responseHeaders 和 responseURL 属性)。

当然,如果您知道任何其他方法可以实现此目的,请随时分享。

【问题讨论】:

    标签: actionscript-3 urlloader custom-events


    【解决方案1】:

    你不能这样做。

    想一想:您正试图通过扩展从那里抛出的事件类向 URLLoader 类添加行为。打个比方,这有点像你只给隔壁邻居写信,现在你想让他们去海外时改变纸张大小——除非你也把它们交给邮件总管,那不会很成功...

    我偶然发现了许多讨论此问题的论坛主题,其中大多数似乎都同意 Adob​​e 在 FP10 / AIR due to some sort of security issue 之前的 Flash 版本中阻止访问响应标头。我不确定这些信息中有多少是准确的,但我非常确信没有办法解决这个问题 - 您无法在较旧的 Flash 版本中获得Location:header。

    您将不得不寻找其他解决方法。例如,如果您有权访问 PHP 脚本,则可以添加包含重定向位置的 HTML 注释,并在 ActionScript 中解析该值。

    <!-- Location: http://google.com/ -->
    

    【讨论】:

    • 谢谢。我无权访问脚本。无论如何,我应该如何处理扩展通用类的任务(使用我需要的示例一点也不差)?我会玩弄它。
    • 您可以毫无问题地扩展任何通用类。只是 URLLoader 提供了到“外部世界”的接口,这是 Flash Player 的基本功能——您可以覆盖现有方法并使用已有的方法做各种事情,但是没有办法向核心 API。
    猜你喜欢
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2011-06-07
    • 2016-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多