6

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

在此处输入图像描述

(这不是“T”)。

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

在此处输入图像描述

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

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

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

4

1 回答 1

6

这是肮脏的黑客,但它的工作原理。:) “即时”将您的 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

于 2013-04-02T18:21:47.663 回答