我有一个 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 方法中......但我很失落...任何帮助,将不胜感激!

有帮助吗?

解决方案

如果您要在 html 文本框中使用 <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,但它应该与从文本字段属性面板中选择“多行”和“自动换行”完全相同。

其他提示

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

我发现这个问题已经被报告在Adobe bug跟踪系统在这里:

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

在作为一种变通方法我创建一个单独的SWF文件中的确切大小作为图像相同,并且嵌入在代替(即160x47阶段和使用的navigateToUrl可点击的链接的MovieClip /按钮)。基本上可以嵌入的SWF文件内的TextField方式相同的图像。

这是不理想,但它似乎像一个不错的折中考虑SWF“按钮”现在可以使用,或多或少以同样的方式布局,你会使用<img>标签。

AIR(手机)忽略了安全IMG标签显然......在我看来毫无用处。 添加的事实是TextFlow不推荐或支持,要么在移动,和其他许多水果少的尝试得到一个IMG标签来显示超出到目前为止挑战。我敢打赌与给定的成分几乎是不可能的(这是没有很好的记载和冲突性与周围的问题中,线上资源当然空中机动土地,所以目前还不清楚和混乱的是新鲜的测试版)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top