首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >似乎无法侦听由SWFLoader加载的SubApplication的UncaughtErrorEvent

似乎无法侦听由SWFLoader加载的SubApplication的UncaughtErrorEvent
EN

Stack Overflow用户
提问于 2011-07-28 03:26:27
回答 2查看 826关注 0票数 2

我有一个主Flex应用程序('A.swf')通过SWFLoader加载一个SubApplication (在‘B.swf’中定义),我需要从SubApplication监听UncaughtErrorEvent。当我从SubApp ('B.swf')抛出一个错误时,我不能让我的事件侦听器被调用。

在阅读了UncaughtErrorEvent和UncaughtErrorEvents的asDoc之后,我已经在A.swf的loaderInfo ( 'outter‘主应用程序)和B.swf的loaderInfo中添加了一个事件侦听器(尽管文档说在这里不这样做,它是捕获和冒泡阶段的事件序列的一部分……)以及SWFLoader内部FlexLoader.uncaughtErrorEvent (根据文档),如下所示:

代码语言:javascript
复制
swfLoader.content.loaderInfo.loader.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, uncaughtErrorFunction );  

当Loader.uncaughtErrorEvents中的SubApplication引发错误时,B.swf上的事件侦听器设置不会触发。相反,主应用程序(A.swf) loaderInfo上的侦听器将触发。此外,A.swf的loaderInfo接收到的事件的eventphase等于'EventPhase.AT_TARGET‘,asDoc表示只应在捕获和冒泡阶段调度该事件。

我做得不对吗?有什么想法或建议吗?

'A.swf‘和'B.swf’都是用FlexSDK4.1和Flash Player 10.1编译的。浏览器是运行Flash debug player10.3的FireFox

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-02 21:39:37

我发现,将SDK库设置为合并到A.swf和B.swf的代码中,可以让UnCaughtErrorEvents以正确的方式进行调度。

当使用基于MX的Flex应用程序和通过共享运行库链接的SDK库( Flash Builder中的默认库)时,它不会调度。

此外,它还可以与带有RSL或合并到代码中的纯SPARK Flex应用程序一起工作。

请参阅此处的讨论:http://forums.adobe.com/message/3835326

提交的Flex bug在这里:http://bugs.adobe.com/jira/browse/SDK-30996有关示例,请参阅已提交的错误的附件。

票数 2
EN

Stack Overflow用户

发布于 2011-07-28 05:56:24

看看Alex Harui的博客文章,这应该是可行的。http://blogs.adobe.com/aharui/2011/04/catching-uncaughterror-in-flex-modules.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6850084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档