AS3 - mailto正在打开一个新的浏览器窗口

时间:2009-06-12 19:54:55

标签: flash actionscript-3 flash-cs4

问题的介绍 -
使用AS3,我希望当用户点击电子邮件地址时,它会打开他们的电子邮件程序。因此,我这样做:

mc.addEventListener(MouseEvent.CLICK, sendEmail);

function sendEmail(e:MouseEvent):void{<br />
     navigateToURL(new URLRequest("mailto:name@domainname.com"));<br />
}

问题: 每次用户单击影片剪辑时,它都会打开其电子邮件程序。但是,浏览器也在打开一个新窗口。单击具有电子邮件地址的影片剪辑时,如何避免浏览器打开新窗口?

5 个答案:

答案 0 :(得分:4)

对此有一个非常简单的答案。导航到URL将打开一个新的浏览器窗口或根据指定的方式自行完成,如果没有打开窗口,它将打开一个窗口。使用sendToURL代替navigateToURL,我刚刚测试过,它运行正常。

sendToURL(new URLRequest("mailto:name@example.com"));

sendToURL也是flash.net包中的一个函数

干杯!

答案 1 :(得分:3)

尝试

navigateToUrl(urlRequest, "_self");

来自API

答案 2 :(得分:1)

2016年更新

我知道这是一个非常旧问题;

navigateToURL(new URLRequest("mailto:name@domainname.com"), "_blank");

在Outlook中自动打开新电子邮件,而无需打开新的浏览器标签。

Adob​​e Animate 2015.2

答案 3 :(得分:0)

邮件程序正在打开,因为您将邮件ID作为URL。我认为您的意图是在用户点击链接时发送邮件吗?

要在同一个窗口中打开,请使用CookieOfFortune所说的内容。在

navigateToUrl(urlRequest, "_self");

第二部分_self将目标窗口设置为self。 如果要在新窗口中打开,则必须使用navigateToUrl(urlRequest, "_blank");

答案 4 :(得分:0)

我们可以使用以下代码ExternalInterface 在哪里&#39; url&#39;是mailto:网址。即:

mailto:abc@example.com?subject=Hello&body=defg

//Mailto Links from Flash
ExternalInterface.call("function(link){var wEmail = window.open(link, '_blank'); setTimeout(function(){ wEmail.close();}, 70);}", url);