老问题,但我已经搜索了又搜索,还没有找到合适的解决方法。
我有一个 flex 应用程序,需要有一个 HTML 弹出窗口(我需要显示的 HTML 是从第三方服务器生成的),所以使用 Flex iFrame 来显示它。我的问题是旧浏览器的分层需要 wmode="opaque",但是当我这样做时,我的文本框停止在 Safari 中接收键盘输入。
有谁知道这个问题的工作解决方案?
我找到了不同的解决方案,但没有一个对我有用:
- 将 HTML 输入表单定位在 Flex 输入的确切位置形式。不幸的是,这不是我正在使用的应用程序的选项因为它太大了,有数百个文本框。
- 设置焦点回到应用程序键下,没有运气 ->http://www.igorcosta.org/?tag=flex-hacks
- 有人在堆栈上建议也许MXFTETextInput可能会起作用,所以也尝试了这个,没有运气。
感谢您提供的任何帮助!
我将根据我对这个问题的研究来回答我自己的问题:
Adobe 不提供在 Flex 应用程序中嵌入 HTML 的受支持方法。 Flex iFrame 是一种流行但不受支持的方式,通过使用 Flash Player 上的特殊窗口模式(wmode 不透明)查看位于应用程序上方的 HTML。不透明的wmode考虑了分层和合成,但是这个wmode的一个大问题是Flash Player在不同浏览器上的性能不一致。 在使用此wmode时,Firefox和Safari中有许多记录在案的问题。
这是一个非常有用和翔实的帖子 - 如果你想花时间实现它们,它还提供了一些理论解决方案--- http://www.deitte.com/archives/2008/07/dont_use_iframe.htm