加载页面时将嵌入式SWF集中在Firefox中

时间:2013-06-27 08:29:18

标签: actionscript-3 flex firefox focus

Flex应用程序我当前正在处理需要在应用程序启动时关注TextInput控件,但正如我在实现它时注意到的,对TextInput.focus()的调用将聚焦输入而不是嵌入式SWF本身因此,用户无法在应用程序启动后立即键入输入,并且必须在此之前单击SWF上的某个位置。我通过使用一些JS自动将焦点设置到我的SWF(测试并使用Chrome v27和IE10)来部分解决了这个问题。太糟糕了,它不适用于Firefox(v22)。这是为什么?这是我在index.html模板中的代码:

function focusFlash() 
{ 
    var f = document.getElementById('${application}');

    if(f) 
    {
       f.tabIndex = 0;
       f.focus();
    }
}

我将此函数用作swfobject.embedSWF()回调函数。

1 个答案:

答案 0 :(得分:0)

来自Adobe论坛,这可能值得一试吗?...

将以下行添加到您的swf。

import flash.external.ExternalInterface; ExternalInterface.call(" s = function(){document.getElementById(' mymovie')。focus();}");

其中' mymovie'是html脚本中嵌入的swf对象的ID。