解决 Flash 透明模式下Firefox、Opera等浏览器无法输入中文的问题

 

解决 Flash 透明模式下Firefox、Opera等浏览器无法输入中文的问题

在Firefox、Opera、Chrome等浏览器中,当 Flash 以透明模式执行时 (wmode="transparent")
出现无法输入中文文字和其它需要选字的输入法文字时会有问题。

解决方法一:利用 ExternalInerface JavaScript window.prompt 来解

    import flash.external.*;
    // 將 js function 宣告出去,(也可以直接写在Html网页<script>中)
    ExternalInterface.call("eval",
        "function getInput(hint){return window.prompt(hint, '');}");
    // 利用 ExternalInterface 呼叫 JS function,並取得 User 輸入文字
    function doInput() {
    inputTxt.text = ExternalInterface.call("getInput", "請輸入文字");
    }

    该方法已经过测试可行,但缺点是以弹出对话框形式出现,用户体验不够好。

解决方法二:

使用thickbox( http://jquery.com/demo/thickbox/)这个opensourceJS工具,可以单纯传参数这个工具就会帮忙建立iframe,可以兼容IEFF

注:该方法未经过测试。

目前该问题还未有更好的解决方案,如无特殊需求需要设置flash为透明,一般情况下不建议设置为透明。

你可能感兴趣的:(解决 Flash 透明模式下Firefox、Opera等浏览器无法输入中文的问题)