Кто-либо еще не могущий слушать uncaughtErrorEvent при загрузке другим swf?

Когда я пытаюсь получить доступ uncaughtErrorEvents диспетчер при прямой загрузке все работает хорошо. Но когда я пробую тот же код при загрузке другим swf я получаю ссылочную ошибку.

protected function onAddedToStage(e:Event):void {
    trace("Flash version: " + Capabilities.version);
    try {
      loaderInfo.uncaughtErrorEvents.addEventListener("uncaughtError", onUncaughtError);
      trace("YAY!");
    } catch (e:Error) {
      trace(e);
    }
}

Вывод при прямой загрузке (в браузере):

Flash version: MAC 10,1,53,64
YAY!

Вывод при загрузке другим "загрузчиком" SWF:

Flash version: MAC 10,1,53,64
ReferenceError: Error #1069: Property uncaughtErrorEvents not found on flash.display.LoaderInfo and there is no default value.

Если бы другие могут копировать это, я был бы благодарен.

Править: Также попробовали это stage.loaderInfo, вместо просто loaderInfo. Та же проблема...

1
задан aaaidan 6 June 2017 в 03:21
поделиться

1 ответ

loaderInfo загруженного объекта отличается от такового для инициализированного объекта, а содержимое через класс Loader изменяется по-другому. в документации указано, что вы должны добавить слушателя в uncaughtErrorEvents на загрузчике, а не в связанный с ним loaderInfo:

Для обнаружения возникающих неперехваченных ошибок в загруженном SWF используйте Loader.uncaughtErrorEvents свойство, не Loader.contentLoaderInfo.uncaughtErrorEvents имущество.

-livedocs link

поэтому, по-видимому, вам нужно либо добавить его в загрузчик, а не загруженный, либо определить, загружен ли он, а затем добавить его в родительский элемент или что-то вместо этого. неэлегантно я знаю, но все, что я могу придумать, чтобы обойти это.

1
ответ дан 2 September 2019 в 23:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: