Как определить недопустимый URL-адрес для AIR HTML Control? - PullRequest
0 голосов
/ 16 июля 2011

При настройке свойства .location элемента управления HTML можно установить для него недопустимый URL-адрес без ошибок. Как я могу определить, привело ли изменение местоположения к загрузке какого-либо HTML или URL-адрес 404?

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

Нет ошибки выдается из фальшивого местоположения, показанного выше.

Как я могу обнаружить событие IOError в элементе управления HTML?

Заранее спасибо.

1 Ответ

0 голосов
/ 16 июля 2011

Теперь, когда я лучше понимаю вопрос, вам нужно взглянуть на объект HTMLLoader внутри элемента управления html, возможно, более конкретно, на свойство 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 времени, вы уведомляете пользователя, что адрес недействителен или есть ошибка сети.

Дайте мне знать, как это происходит:)

...