解决 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/)这个opensource的JS工具,可以单纯传参数这个工具就会帮忙建立iframe,可以兼容IE和FF。
注:该方法未经过测试。
目前该问题还未有更好的解决方案,如无特殊需求需要设置flash为透明,一般情况下不建议设置为透明。