如何检测AIR HTML Control的无效URL?

时间:2011-07-16 16:04:35

标签: flash flex actionscript air

设置HTML控件的.location属性时,可以将其设置为无错误的URL。如何确定位置更改是否导致加载某些HTML,或者URL是否为404?

       <mx:HTML width="100%"
                height="100%"
                complete="Complete(event);"
                location="http://qqq.xxx35627396.zzz"
                id="Ghost"/>

上面显示的虚假位置没有产生错误。

如何在HTML控件上检测IOError事件?

提前致谢。

1 个答案:

答案 0 :(得分:0)

既然我更好地理解了这个问题,那么您将要查看html控件中的HTMLLoader对象,可能更具体地说是loaderInfo属性。我知道编译器认为它不存在,但它是可以访问的。

你想要附加一些事件。以下是loaderInfo调度的事件:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/LoaderInfo.html

这包括

flash.events.HTTPStatusEvent.HTTP_STATUS
flash.events.IOErrorEvent.IO_ERROR

以及

flash.events.Event.OPEN
flash.events.ProgressEvent.PROGRESS

现在,那就是说,HTMLLoader是播放器的一部分,因此您无权检查那里发生的事情或轻松地对它进行子类化。因此,您可能会遇到以下需要解决的问题:

  1. 何时附加侦听器。看起来好像只创建了一个html加载器控件,所以至少你只需要做一次(而不是创建一个新的,以便在loc更改时附加事件等)

  2. 您可能无法获得无效的http_status或io_error事件。在这种情况下,您应该嗅探打开和进度,如果他们在X时间后没有更新,则通知用户该地址无效或存在网络错误。

  3. 让我知道它是怎么回事:))