我已经编译了一个 CSS swf 文件,其中包含用于我的 Flex 应用程序的嵌入式皮肤。在我们的下载产品中,此 CSS 工作正常。在 Web 上,非 Flex 容器正在加载 Flex 应用程序,而 CSS 静默失败。
调试应用程序时,可以在跟踪输出中看到以下运行时错误,但不会作为异常引发。
method not implemented mx.core::IFlexDisplayObject/mx.core:IFlexDisplayObject::setActualSize() over-binding 0 in GlobalStyle__embed_css__319796825 accessor not implemented mx.core:IFlexDisplayObject::measuredHeight over-binding 0 in GlobalStyle__embed_css__319796825 accessor not implemented mx.core:IFlexDisplayObject::measuredWidth over-binding 0 in GlobalStyle__embed_css__319796825 method not implemented mx.core::IFlexDisplayObject/mx.core:IFlexDisplayObject::move() over-binding 0 in GlobalStyle__embed_css__319796825
更新
现在我已经确定了实际问题,我已经编辑了问题以使其更有用和直接。
最佳答案
非 Flex 应用程序正在使用库中的内容,其类名与 CSS swf 中嵌入的 Flex 外观相同。因为 Flash 会在最全局的 swf 中查找类定义,所以它使用非 Flex 应用程序定义的类。
因为此内容不扩展 UIMovieClip,所以导致 StyleManager 失败。由于潜在的安全错误,Adobe 已将此过程的大部分包装在 try-catch block 中以抑制预期的运行时错误。
重命名一个应用程序或另一个应用程序使用的类以解决此问题。
关于css - 当 Flex 应用程序由非 Flex 应用程序加载时,运行时 CSS 静默失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/158996/