1
|
Jesse Millikan · 技术社区 · 16 年前 |
![]() |
1
5
您可以将ID添加到图像中
然后在HTML中的每个图像上设置ioErrorEvent处理程序
|
![]() |
2
2
这是个很酷的问题。 我有两个建议。 1)不要使用文本字段。我猜你和我一样,是在flex之前用flash开发的。您可能已经知道这一点,但我花了一段时间才发现:textfield对象并不打算在flex中经常使用。请参阅flex3语言参考:
显然,使用textfield没有任何问题,但我发现,当我试图解决棘手的问题时,尽可能多地“按书”删除未知内容(至少尽可能多地)确实很有帮助。 2)我想我可以尝试扩展文本组件,或者基于文本创建一个新组件。在这个组件中,我将添加逻辑来加载图像并将其插入到textfield对象中。这样,在将字符串插入到textfield对象之前,您可以轻松地构建和验证要插入到textfield对象中的字符串。 如果你能做到这一点,请邮寄-我可以自己用。:) |
![]() |
3
1
如果您可以使用新的FTE/TLF组件,那么就这样做。Adobe基本上已经不再使用旧的textfield API了,同样的错误也是我过去不得不放弃许多项目和组件的原因。此错误被抛出,基本上无法捕获。在我看来,Flash工作最糟糕的方面之一。 TLF解决了这些问题,因此更容易处理。在旧的API中进行几天的实验现在只需要几个小时。我在新的API上构建了一些富文本编辑器,使用起来非常好。你会很高兴的:) |
![]() |
4
1
我可以检测到什么时候加载了图像,但我想我会遵循TLF的建议。无论如何,如果您需要知道,您必须在加载程序上实现一个输入帧事件侦听器,并检查bytes属性length的contentinfo,如果图像没有加载,则长度为0xffffffff,如果图像已加载,则长度为文件的大小,如果出现错误,则bytes属性为空。 |
![]() |
5
1
|
![]() |
6
-1
这也是我要处理的一个问题:这真的很烦人。我真的很想抓住所有的错误。我以为你会说…
…但正如你所指出的,这似乎行不通。 也许您可以检查一下,以确保亭的flash播放器不是调试版本。我不认为发布版本会抛出对话框(可能是错误的)。 |
![]() |
7
-1
不可能的!如果使用加载程序加载不存在的图像,则会出现同样的问题!flex是一个框架,image类使用这个flash加载器对象,但有大量的代码行(请查看swfloader的源代码…)。 您可以在设置HTMLTEXT属性之前检查图像URL,也可以创建自己的组件来显示文本和图像。 我不敢相信这个简单而愚蠢的bug还没有被Adobe修复! |