0

我有一个 flash as3 文件,我正在导入一个包含此链接的 HTML 文件:

<a href="purchase.php?lang=0&"><img src="https://www.paypal.com/en_GB/i/btn/btn_buynowCC_LG.gif" id="paypal_button"></a>

我一生都无法弄清楚,我到处都看过。

有几个论坛建议:

function onTicketLoad():void {
if(paypal != null && this.contains(paypal)) {
    removeChild(paypal);
}
var imgLoader:DisplayObject = content_text.getImageReference("paypal_button");
//imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,onHtmlImageLoaded);
paypal.addChild(imgLoader.content);
}

function onHtmlImageLoaded(e:Event):void {
    e.target.removeEventListener(Event.COMPLETE, onHtmlImageLoaded);

    paypal.addChild(e.target.content);
    paypal.buttonMode = true;
    paypal.useHandCursor = true;
    addChild(paypal);
}

(该示例完全支离破碎,我只是将其包含在内以说明我正在尝试做的事情)

基本上我认为我需要将图像加载到 getImageReference 方法中......但我很迷茫......任何帮助将不胜感激!

4

3 回答 3

2

我发现<img>在 Flash 中的 TextFields 中的标签上创建链接可能会有问题。

我发现这个问题已经在 adobe bug tracker 上报告了:

http://bugs.adobe.com/jira/browse/FP-2146

曾经作为一种解决方法,我创建了一个与图像完全相同大小的单独 swf 文件并将其嵌入(即一个 160x47 舞台和一个带有可点击链接的 MovieClip/按钮,使用 navigateToURL)。基本上,您可以像图像一样将 swf 文件嵌入到 TextFields 中。

这并不理想,但考虑到现在可以使用 swf“按钮”并以或多或少与您使用<img>标签相同的方式布局,这似乎是一个不错的折衷方案。

于 2009-07-18T15:21:15.513 回答
1

如果您要在 htmlText 框中使用 <img> 标签,“您必须将文本字段设置为多行并自动换行

我试过了,对我来说效果很好。它加载了图像并且链接也有效。这是我的代码:

import flash.text.TextField;

var labelText:String = '<a href="purchase.php?lang=0&"><img src="https://www.paypal.com/en_GB/i/btn/btn_buynowCC_LG.gif" id="paypal_button"></a>';
var label:TextField = new TextField();
label.border = true;
label.multiline = true;
label.wordWrap = true;
label.width = 200;
label.height = 100;
addChild(label);
label.htmlText = labelText;

我的示例使用纯 AS3,但它应该与从文本字段属性面板中选择“多行”和“自动换行”完全相同。

于 2009-05-11T08:40:54.937 回答
1

AIR(移动)显然忽略了 IMG 标签的安全性......在我看来没用。添加一个事实,即在 Mobile 中不推荐或不支持 TextFlow,并且到目前为止,许多其他尝试获取 IMG 标记来呈现的尝试都没有挑战性。我会用给定的组件打赌几乎是不可能的(当然在 AIR Mobile 领域,它没有很好的文档记录并且与围绕这些问题的在线资源存在冲突,因此刚从 beta 版中出来的情况不清楚和令人困惑)。

于 2011-10-03T05:51:06.483 回答