我有一个嵌入了SWF文件的网页。我有一个焦点问题。
重现的步骤: 1)单击Iframe内的HTML文本字段 2)单击Flex Field。 3)开始输入一些文字。
预期结果是输入的文本应该放在Flex TextInput字段中,但实际结果是它进入HTML文本字段。
这是提交但未经任何解决方案关闭的错误。解决方法表明它没有用。 (bugs.adobe.com/jira/browse/SDK-12377)
仅在IE 6.0和IE 7.0中发生这种情况。以下是实例。 http://drumbeatinsight.com/examples/htmlcomponent/iframe/HTMLFrameInApplication.html
要求解决此问题的任何建议或解决方法。
答案 0 :(得分:0)
您的浏览器正在保持焦点,而不是将其恢复到Flash播放器。当我试图在我的flex应用程序中“嵌入”html内容时遇到了这个问题...通过在flash播放器上方浮动html iframe来实现。
如果我想与flex进行交互,我必须隐藏和恢复iframe,因为iframe需要在flash播放器之上,但这一切都很简单。我会发现,即使我隐藏了iframe,闪存播放器也永远不会让键盘焦点回来。您需要告诉浏览器将键盘焦点恢复到Flash播放器。
现在没有什么好方法可以确定你是否需要指示浏览器给予键盘焦点,我最终会在每次鼠标按下时执行这个javascript,效率很低,但这是我用户时唯一的方法来保护点击了Flash播放器内容,浏览器重新获得了键盘焦点。
执行一个javascript方法,按名称查找嵌入内容并调用focus()。
基本上 - document.getElementById('flexEmbedID')。focus();
使用外部接口在stage.mouseDown()上调用它。很多开销因为它执行很多,但它会解决你的问题。