actionscript-3 - 无法在 AIR 中加载 SWF 中的文本字段上进行复制/粘贴

标签 actionscript-3 flash actionscript air actionscript-2

我的 AIR 应用程序正在加载一个 SWF 文件,其中包含一个用于输入的文本字段。我可以在文本字段中输入,但复制和粘贴被破坏了。当我尝试使用键盘快捷键粘贴某些内容时,文本字段会变成这样:

enter image description here

(这不是“T”)。

经过一系列复制/粘贴后,它看起来像这样:

enter image description here

当我右键单击文本字段时,没有任何 react ,也不会出现带有复制/粘贴选项的上下文菜单。

正在加载的 SWF 在 AS2 中(实际上不可能将它移植到 AS3,因为其中的代码非常庞大和复杂)。我无法替代那个 SWF,它对我的​​项目具有极高的值(value)。除了这个麻烦之外,SWF 工作正常。也许我可以在加载程序的 AS3 设置中更改一些配置常量?

出于测试目的,我创建了两个 .flas,一个在 AS2 中并包含一个文本字段,另一个在 AS3 中并加载文本字段。您可以在存档中下载 .flas from here .

最佳答案

这是肮脏的黑客,但它有效。 :)
“动态”将您的 SWF 从 AVM1 转换为 AVM2。使用 ForcibleLoader https://code.google.com/p/as3-classes/source/browse/trunk/org/lzyy/util/ForcibleLoader.as

在 loader.fla 中:

var loader:Loader = Loader(addChild(new Loader()));
var fLoader:ForcibleLoader = new ForcibleLoader(loader);
fLoader.load(new URLRequest('tf.swf'));

在 ForcibleLoader.as 添加 import flash.system.LoaderContext;

var lc:LoaderContext = new LoaderContext();
lc.allowCodeImport = true;
loader.loadBytes(inputBytes, lc);

反而
loader.loadBytes(inputBytes);
在行 ~75

关于actionscript-3 - 无法在 AIR 中加载 SWF 中的文本字段上进行复制/粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15766073/

相关文章:

javascript - 是否有 Flash onload 事件?

c# - C# .NET 中的 FLV/F4V 对话库?

android - 如何为 Android Adob​​e AIR 设置媒体音量控制?

actionscript - ActionScript 中的日期格式

apache-flex - 用于 flex/actionscript 的逆向工程或文档工具

php - JSON.parse 错误 #1132 : Invalid JSON parse input (Flex/Actionscript/PHP)

actionscript-3 - 在 ActionScript 3 flex 4 中使用 DisplayObject(Group ,UIComponent) 剪切复制粘贴

actionscript-3 - 以编程方式添加属性来执行ActionScript对象(元编程)

actionscript-3 - AS3 - 刷新位图的最有效方法

javascript - 当离开视口(viewport)时,Flash Player 停止动画