2012-01-02 84 views
0

保持考慮到ActionScript 3的事件HTTPStatusEvent:HTTP_RESPONSE_STATUS,這是空氣只能從網站(和不閃9/10)如何將事件添加到URLLoader類?

報價:

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

我想通過擴展來添加同一事件Actionscript 3 的Flash(9/10)的HTTPStatusEvent類。我正在處理Adobe Flash CS3,我試圖得到一個URL加載器的「最後」位置(我打電話給一個PHP的頭(「位置:...」);)所以改變後我需要位置。這應該直接通過Flash,我不能使用其他的PHP代理。另外,我找不到AIR HTTPStatusEvent類的源代碼,我需要獲取該事件(具體而言,AIR類的responseHeaders和responseURL屬性)。

當然,如果您知道任何其他方式來完成此任務,請隨時分享。

回答

0

你不能這樣做。

想一想:您正在嘗試通過擴展從該處引發的事件類來向URLLoader類添加行爲。形象地說,有點像改變紙張大小,當你只寫信給你的隔壁鄰居,現在你希望他們去海外 - 除非你也給他們的郵件主,這不會是非常成功的...

我已經偶然發現了很多討論這個問題的論壇主題,他們中的大多數人似乎都同意Adobe在FP10/AIR due to some sort of security issue之前阻止訪問Flash版本中的響應標頭。我不確定這些信息有多少是準確的,但我確信無法解決這個問題 - 在舊版Flash版本中,不能獲得Location:頭文件

您將不得不尋找其他解決方法。例如,如果您有權訪問PHP腳本,則可以添加包含重定向位置的HTML註釋,並在ActionScript中解析該值。

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

謝謝。我無法訪問該腳本。 無論如何,我應該如何接近擴展普通課程的使命(使用我所需要的例子不會很糟糕)?我會玩弄它。 – Dandy 2012-01-03 01:42:24

+0

您可以擴展任何常規類而不會有任何問題。只是URLLoader爲「外部世界」提供接口,這是Flash Player的基本功能 - 您可以覆蓋現有的方法並使用已有的方法完成各種各樣的任務,但是沒有辦法將新功能添加到核心API。 – weltraumpirat 2012-01-03 02:36:40